Jquery和ajax与json数据解析

Jquery and ajax with json data parse

本文关键字:数据 json ajax Jquery      更新时间:2023-10-09

我的代码出了什么问题,我不能在resultTXT 中显示任何内容

txtfld显示阵列

[{
    "user_id": "2790",
    "freelancer_name": "",
    "order_id": "9121",
    "orderamount": "0.00",
    "payment_method": " ....... "
}]

我希望用户ID在resultTXT 中

ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
        $.post('userfind.php', function(data) {
            $("#txtfld").val(data);
            var json = data,
            obj = JSON.parse(json);
            alert(""+obj.user_id);
            $("#resultTXT").val(obj.user_id);
        },'json');
    }
};
ajaxRequest.open("POST", "userfind.php", true);
ajaxRequest.send(null); 

请帮我换些什么。

我发现了一些问题。首先,为什么要向userfind.php POST两次?你为什么使用普通的JS AJAX和jQuery AJAX?只需使用一个。

其次,$.post中的,'json'意味着jQuery将为您解析JSON,您不需要JSON.parse

第三,您的JSON是一个(对象的)数组,因此您需要首先获取数组元素,然后获取user_id属性。

$.post('userfind.php', function(data) {
    $("#txtfld").val(data);  // data is an object,
                             // so this will just put [object Object] in the field,
                             // probably not what you want
    alert(data[0].user_id);  // data is an array of (one) object(s)
    $("#resultTXT").val(data[0].user_id);
},'json');

我认为这是因为json是一个数组,所以可以尝试obj[0].user_id