$.ajax({
type: "GET",
dataType: "jsonp",
jsonp: "jsoncallback",
data: {
//some data
},
url: "http://mydomain.com/checkRequest.php?jsoncallback=?",
success: function (result) {
if (result[0].data.NameB == "") {
alert("123");
} else {
alert("456");
}
},
error: function (jqXHR, textStatus) {
alert("Request failed: " + textStatus);
}
}); // end of ajax
我有上面的代码,当且仅当有某些东西返回时,它才能成功运行。
但是,如果PHP没有返回任何内容,则字符串变为:jQuery191025216468679718673_1364086240540([]);
我希望它转到其他部分,警报456.但是,它会跳过整个成功功能。那么,我该如何修改编码呢?
如果我将if子句更改为if (result!="")
答案 0 :(得分:3)
Have a look at the console.我确定你会收到类似
的错误无法读取未定义的属性“数据”。
如果数组为空,result[0]
将返回undefined
,后续属性访问将导致运行时错误,从而立即终止脚本。首先检查数组是否为空:
if (result.length > 0 && result[0].data.NameB == "")
您可能还必须测试result[0].data
的存在,具体取决于数据。