【发布时间】:2025-12-01 18:20:05
【问题描述】:
我对 JSON、JS 和 AJAX 完全陌生。我使用了一些示例代码来完成我的目标。我不明白的是,当 JSON 是一个错误对象时,成功部分仍在触发。当错误为真时,控制台显示对象 d 为空或非对象的错误。我做错了什么? TIA
结果类型好:
JSON: {"data":["1","breast","2","wing","3","thigh","4","leg","5","half","6","quarter white","7","quarter dark","9","whole"],"error":false}
结果类型错误:
JSON: {"error":true}
$.ajax({
type : 'GET',
url : 'getsubtypes2.php',
data : dataString,
dataType : 'JSON',
cache: false,
success : function(data) {
var output;
var d = data.data;
var output = "";
for (var i = 0 ; i< d.length; i=i+2) {//error gets to this line
var count = d[i];
var newOption = d[i+1];
output += "<option value='"+count+"'>"+newOption+"</option>";
}
$('#select3').empty().append(output);
},
error: function(){
$('#select3').empty();
console.log("Ajax failed");
}
});
【问题讨论】:
-
只有当它们是真正的 http 错误时才会触发。您应该在成功方法中添加对该属性的检查。 if(data.error) { // 抛出 }
标签: javascript jquery json ajax