繁体   English   中英

在AJAX成功回调中使用$ .each

[英]Using $.each in AJAX Success Callback

我有以下console.log(data): [{"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:无法使用'in'运算符...

在研究错误时,我需要使用$ .getJSON? 但是我首先使用$ .ajax调用来获取此数据...有点困惑..

我只想遍历此返回的数据并为每个数据创建字段。

input type="text" value="'+this.optionID+'"

我只是想提醒当前的数据,以确保正在循环。

因为它是原始文本。 收到的回调中的数据始终是原始文本。

您必须使用它使Object$.each一起使用。 您可以使用jQuery.parseJSON()

success:function(data){
       var dataObject = $.parseJSON(data);
       $.each(dataObject, function(){
    alert("ID: " + this.optionID);
});
           },

您需要添加选项:

dataType: "json",

调用$.ajax 这告诉它自动解析JSON。

或者,服务器脚本可以使用

header("Content-type: application/json");

如果您以其他方式返回对象,请尝试以下代码。 这对我有用。 希望有帮助。

success : function (data) {
                        $.each(data, function( index, value ) {
                         var sampleId = value.optionPropertyID;
                          ...
                        });
                    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM