Javascript 我的JS中有一个未定义的错误,但不确定原因
在我的console.log()中,在Javascript 我的JS中有一个未定义的错误,但不确定原因,javascript,Javascript,在我的console.log()中,在console.log(item.ResponseId)中,我得到了未定义的这反过来又导致$ajax.done()函数失败,因为该值必须是初始调用的返回值。另外,console.log(msg.ResponseId)正在按预期输出一个整数 var rdetail = new Array(); $('.choiceinput').each(function (i, obj) { rdetail.push({
console.log(item.ResponseId)中,我得到了未定义的代码>这反过来又导致$ajax.done()函数失败,因为该值必须是初始调用的返回值。另外,console.log(msg.ResponseId)代码>正在按预期输出一个整数
var rdetail = new Array();
$('.choiceinput').each(function (i, obj) {
rdetail.push({
"ResponseId": 0,
"ResponseDetailVal": $(this).val(),
"QuestioChoicesId": $(this).attr('id')
});
})
$.ajax({
type: "POST",
url: "/Forecaster/userResponse/",
data: data
}).done(function (msg) {
console.log(msg.ResponseId);
for (var item in rdetail) {
item.ResponseId = msg.ResponseId;
console.log(item.ResponseId);
}
console.log("Last: ");
console.log(rdetail);
$.post('/Forecaster/userResponseDetails/',
JSON.stringify(rdetail),
null, 'application/json');
})
当您为(rdetail中的项目)写入时,rdetail
的键将逐个分配给item
。由于键是一个字符串,因此为其指定属性不会产生任何作用*
您的意思可能是rdetail[item].ResponseId
*实际上,它将原语字符串包装在string()
对象中,将属性分配给它,然后丢弃它当您为(rdetail中的项)
编写时,rdetail
的键将逐个分配给项。由于键是一个字符串,因此为其指定属性不会产生任何作用*
您的意思可能是rdetail[item].ResponseId
*实际上,它将基本字符串包装在string()
对象中,为其分配属性,然后丢弃它。@adeneo:item
是字符串,rdetail
是数组。@adeneo:item
是字符串,rdetail
是数组。你不应该也因为..in
在数组上?@RocketHazmat True,但这充其量只是一个评论,而不是回答问题本身的一部分:)好吧,描述在数组上迭代的正确方式会很有帮助。你不也应该在数组上进行吗?@RocketHazmat True,但这充其量只是一个评论,而不是回答问题本身的一部分:)好吧,描述在数组上迭代的正确方法会很有帮助。