我的ajax代码看起来像这样
$.ajax({
type : "POST",
dataType : "JSON",
url : "index.php",
success : function(data){
for(i=0;i<data.length;i++)
{
console.log(data[i].1_assigned_accepted);
}
}
})
现在console.log(data[i].1_assigned_accepted);
给了我错误,即使我的表中有1_assigned_accepted
作为列名。 jQuery不考虑 1 _ 。如何解决这个问题?
答案 0 :(得分:1)
尝试:
console.log(data[i].["1_assigned_accepted"]);
答案 1 :(得分:1)
尝试使用支架形式。
console.log(data[i]['1_assigned_accepted']);
答案 2 :(得分:-1)
修复您的代码:
$.ajax({
type: "POST",
dataType: "JSON",
url: "index.php",
success: function(data) {
console.log(data); //test to see if we get something back
for (var i = 0; i < data.length; i++) {
console.log(data[i]['1_assigned_accepted']);
}
}
});
差异OP和我的分配是i=0;
- &gt; var i = 0;
并使用括号获取值。
一些注释:
在发帖时,您通常使用data:
选项发送数据。 (记得Json.stringify(input)
)。发布时,您可能需要更多选项:
function postJson(url, data, successCallback, errorCallback) {
$.ajax({
url: url,
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'json',
success: successCallback,
error: errorCallback
});
}
请注意,此处使用了contentType
,dataType
和data
。在执行post
时,您通常需要所有这些。
像这样调用:
var data = { name: 'Rhys' };
postJson(
'index.php',
data,
function(responseData) {
console.log(responseData);
},
function(err) {
console.error(err);
}
);
另一点:
您假设您的响应对象是一个数组,您可以使用instanceof
进行测试。
我希望这有帮助,
里斯