Php 在AJAX成功回调中使用$each
我有以下console.logdata: [{optionPropertyID:287,optionID:106,option卧室:2,optionSleeps:1,optionDescription:1},{optionPropertyID:287,optionID:105,optionSleeps:2,optionSleeps:1,optionDescription:1}] 我试图在$中使用此数据。AJAX成功回调中的每个函数都会不断出错:Php 在AJAX成功回调中使用$each,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我有以下console.logdata: [{optionPropertyID:287,optionID:106,option卧室:2,optionSleeps:1,optionDescription:1},{optionPropertyID:287,optionID:105,optionSleeps:2,optionSleeps:1,optionDescription:1}] 我试图在$中使用此数据。AJAX成功回调中的每个函数都会不断出错: success:function(data){
success:function(data){
alert(data);
console.log(data);
$.each(data, function(){
alert("ID: " + this.optionID);
});
},
我收到以下错误:
未捕获类型错误:无法使用“in”运算符
在研究错误时,我需要使用$.getJSON?但是我首先使用$.ajax调用来获取这些数据。。。有点困惑
我只想遍历返回的数据,并为每个数据段创建字段
input type="text" value="'+this.optionID+'"
我只是想提醒数据当前返回,以确保它正在循环。因为它是原始文本。收到回调时,回调中的数据始终是原始文本 您必须从中创建对象,以便与$.each一起使用。你可以用它来做这个
您需要添加以下选项:
dataType: "json",
转到$.ajax调用。这告诉它自动解析JSON
或者,服务器脚本可以使用
header("Content-type: application/json");
如果您以其他方式返回对象,请尝试以下代码。这对我有用。希望这能有所帮助
success : function (data) {
$.each(data, function( index, value ) {
var sampleId = value.optionPropertyID;
...
});
}
您需要在ajax中指定数据类型json。检查数据类型--使用时,您将在控制台中看到一个oblect,而不是您所看到的文本谢谢您的快速响应和解释$。getJSON是$.ajax的一个助手快捷方式函数,可自动解析json响应。只需使用这个var data=JSON.parsedata;。为了将来的参考,请学习使用谷歌和搜索功能。
success : function (data) {
$.each(data, function( index, value ) {
var sampleId = value.optionPropertyID;
...
});
}