2013-07-09 41 views
0

作爲調用API的JQuery AJAX POST請求的一部分,我嘗試創建一個新項目。使用javascript解壓密鑰的問題

我試圖打印確切的錯誤信息,以防萬一具有相同名稱的項目已經存在。基於成功/失敗從API調用返回適當的錯誤響應。

我以某種方式無法提取確切的這個錯誤消息,這是作爲API調用的一部分返回的。我只想知道如何提取此錯誤消息,我可以在UI中將其顯示爲一條Flash消息。

在做的console.log(數據),我得到在Firebug的下方印作爲響應的一部分: -

data: Object { readyState=4, responseText="{"error":"Item already exists","status":404}", status=404, more...} 

擴大整個響應(上點擊「更多...」 )。我得到如下: -

readyState 
    4 

responseText 
    "{"error":"Item already exists","status":404}" 

status 
    404 

statusText 
    "Not Found" 

abort 
    function() 

always 
    function() 

complete 
    function() 

done 
    function() 

error 
    function() 

fail 
    function() 

getAllResponseHeaders 
    function() 

getResponseHeader 
    function() 

overrideMimeType 
    function() 

pipe 
    function() 

progress 
    function() 

promise 
    function() 

setRequestHeader 
    function() 

state 
    function() 

statusCode 
    function() 

success 
    function() 

then 
    function() 

我們打印上面的消息,我試過如下: -

var obj = data.responseText 
console.log("Object Error:- ", obj.error); 

console.log("Object Error:- ", obj.error);在Firebug返回undefined。我知道我不是直接處理哈希。 responseText在字符串中有一個散列,我敢肯定我的問題的答案與此觀察有某種關係。我怎樣才能提取確切的錯誤信息?

回答

0

您的回覆文本是JSON。您需要解析它並將結果作爲普通的JS對象使用。

JSON.parse(data.responseText).error 
+0

中邦目標..謝謝:) – boddhisattva