0

我的代码有什么问题,我无法在 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); 

请帮助我应该改变什么。

4

2 回答 2

3

我认为这有一些问题。首先,你为什么要 POSTuserfind.php两次?你为什么使用香草 JS AJAX 和 jQuery AJAX?只用一个。

其次,,'json'in$.post表示 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');
于 2012-07-17T14:30:18.610 回答
0

我认为那是因为 json 是一个数组所以也许试试obj[0].user_id

于 2012-07-17T14:25:34.893 回答