我有以下console.log(数据):
[{"optionPropertyID":"287","optionID":"106","optionBedrooms":"2","optionSleeps":"1","optionDescription":"1"},{"optionPropertyID":"287","optionID":"105","optionBedrooms":"2","optionSleeps":"1","optionDescription":"1"}]
我试图在我的AJAX成功回调中的$ .each函数中使用这些数据,但它一直在我身上出错:
success:function(data){
alert(data);
console.log(data);
$.each(data, function(){
alert("ID: " + this.optionID);
});
},
我收到以下错误: 未捕获的TypeError:无法在'中使用'运营商...
在对错误进行一些研究时,我需要使用$ .getJSON?但我首先使用$ .ajax调用来获取这些数据......有点困惑......
我只想迭代这些返回的数据并为每个数据创建字段。
input type="text" value="'+this.optionID+'"
我只是试图提醒当前的数据,以确保它循环。
答案 0 :(得分:1)
因为它是原始文本。收到回调中的数据时始终是原始文本。
您必须从中Object
使用$.each
。您可以使用jQuery.parseJSON()
success:function(data){
var dataObject = $.parseJSON(data);
$.each(dataObject, function(){
alert("ID: " + this.optionID);
});
},
答案 1 :(得分:1)
您需要添加选项:
dataType: "json",
到$.ajax
来电。这告诉它自动解析JSON。
或者,服务器脚本可以使用
header("Content-type: application/json");
答案 2 :(得分:0)
如果您以其他方式返回对象,请尝试下面的代码。这对我有用。希望这有帮助。
success : function (data) {
$.each(data, function( index, value ) {
var sampleId = value.optionPropertyID;
...
});
}