我有一個頁面,可以快速登錄並訪問某個JSON數據的Web服務。數據它返回這個樣子的:使用jquery解析JSON
{ 'RESPONSE' : 'INVALID','CAMPAIGNID' : '0','MORELINK' : '' }
的代碼我用得到這些數據,並試圖彈出基於信息的模式窗口是:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Login.asmx/Logon",
data: strData,
dataType: "json",
success: function (response) {
$('#divResp').html(response.d);
$(response.d).each(function(index,item){
alert(item.campaignid);
});
if (res.indexOf('invalid') >= 0){
//invalid account information UNP
foo = "You entered an invalid account number or password";
showDialog('screenActivate.asp',test_imgName);
}
if (res.indexOf('none') >=0) {
//do not deliver splash screen
foo = "No splash screen for YOU!";
}
if (res.indexOf('error') >=0) {
//general error
foo = "You entered an error";
}
if (res.indexOf('frozen') >=0) {
//member is locked out from numberous failed attempts
foo = "You have too many failed attempts. Your account has been locked";
}
if (res.indexOf('.png') >=0) {
imgName = (response.d);
showDialog('screenActivate.asp',test_imgName);
}
alert(foo);
$('#divResp').html(response.d);
}
});
$('#divQuery').ajaxError(function(evt, request, settings){
$('#divResp').html("Web services timeout. Please try again.");
});
}
面臨的挑戰是,無論是我沒有得到任何信息(未定義)或與本次迭代,從Firebug的錯誤,指出未捕獲的異常:語法錯誤,無法識別的表情:「無效」
我不是正確解析JSON響應?
相關評論回答
我貼:"d":"{ 'RESPONSE' : 'INVALID','CAMPAIGNID' : '0','MORELINK' : '' } "
到jsonlint.com和工具說,JSON是有效的。當我試圖通過response.d
與每個語句循環時,它似乎逐字符。
總是首先驗證repsonse,例如,與http://www.jsonlint.com。在你的情況下,你絕對沒有得到有效的JSON。 – Daff