我的代码有什么问题,我无法在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);
请帮我改变一下。
答案 0 :(得分:3)
我发现这有些问题。首先,为什么要两次POST userfind.php
?你为什么使用vanilla JS AJAX和jQuery AJAX?只需使用一个。
其次,,'json'
中的$.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');
答案 1 :(得分:0)
我认为这是因为json是一个数组所以也许可以尝试obj[0].user_id