jQueryAjax调用返回对象,如何获取对象值

jQueryAjax调用返回对象,如何获取对象值,jquery,ajax,post,jsonobject,Jquery,Ajax,Post,Jsonobject,所以我们的程序员做了一个AJAX调用,返回一个对象。我不知道如何将返回的数据附加到元素中。感谢您的帮助 AJAX调用 $('.submit_btn').unbind('click').bind('click', function(e) { e.preventDefault(); $.ajax({ type: "POST", url: $(this).data('url'), data: { csrfmidd

所以我们的程序员做了一个AJAX调用,返回一个对象。我不知道如何将返回的数据附加到元素中。感谢您的帮助

AJAX调用

$('.submit_btn').unbind('click').bind('click', function(e) {
    e.preventDefault();

    $.ajax({
        type: "POST",
        url: $(this).data('url'),
        data: {
            csrfmiddlewaretoken: $(this).data('csrf')
        },
        success: function(data) {
            console.log('success');
            console.log(data);
        },
        error: function(ret) {
            var data = JSON.parse(ret.responseText);
            console.log('error');
            console.log(data);
        },
    });
});
单击“提交”按钮后,我进入控制台“成功”,并:

我应该将响应消息附加到元素。我如何访问响应消息?

像这样尝试

console.log(data["409"]);

由于您并不总是知道返回的密钥(409或201),因此可以通过执行以下操作来检索数据的响应消息:

data[Object.keys(data)[0]]
它将允许您访问
数据[409]
数据[201]

尝试此代码

success: function(data) {
        if(data["409"]){        
        console.log(data["409"]);
        }
        else{
        console.log(data["201"]);        
        }
    }

console.log(data.409);从php发送的数据是数据,因为您没有指定应该解析的数据类型it@DavidJawphan那是完全错误的,你测试过吗?使用
数据[409]
。数据[409]可以工作,但有时返回409:“响应消息”,有时返回201:“响应消息”…console.log(obj['409']);您也可以这样做来访问value console.log(obj[0][0]);请添加关于如何解决askers问题的简要说明。欢迎阅读Stack Overflow,推荐阅读。请给我们更多关于这一行的解释@peter,它工作得很好,但我不知道object.keys()如何返回一个数组,其元素是与直接在对象上找到的可枚举属性相对应的字符串。属性的顺序与手动循环对象属性的顺序相同。从
data[Object.keys(data)[0]]
success: function(data) {
        if(data["409"]){        
        console.log(data["409"]);
        }
        else{
        console.log(data["201"]);        
        }
    }