我试图用jQuery读取响应,我不知道它如何与响应一起工作。
请在此处查看带有js post + response的小示例代码:
$.ajax({
url: "http://localhost/ajaxpost/ajax.php",
type: "post",
data: "action=check&uid=1",
dataType: "json",
success: function(data){
$("#result").html('submitted successfully');
response = JSON.parse(data);
status = response.status;
alert(status);
},
error:function(){
$("#result").html('there is error while submit');
}
});
回应是:
{"first":"John","last":"Heyden","uid":"1","token":"10","value":"100000","friends":"23","country":"australia","status":"online"}
现在我想要的是alert online
有人可以告诉我这里缺少什么吗?
当我删除 dataType:“json”,时,这可以正常使用
success: function(data){
$("#result").html('submitted successfully');
var r = jQuery.parseJSON(data);
alert(r.status);
答案 0 :(得分:3)
没有必要解析响应,因为dataType设置为json,该方法将解析响应json ans将其传递给处理程序
刚
alert(data.status)
例如:
$.ajax({
url: "http://localhost/ajaxpost/ajax.php",
type: "post",
data: "action=check&uid=1",
dataType: "json",
success: function(data){
$("#result").html('submitted successfully');
status = data.status;
alert(status);
},
error:function(){
$("#result").html('there is error while submit');
}
});
答案 1 :(得分:2)
只做
alert(data.status); // online
答案 2 :(得分:0)
不确定你的解析方法。由于您使用的是jQuery,请尝试:
var r = jQuery.parseJSON(data);
alert(r.status);
答案 3 :(得分:0)
由于你将dataType
定义为json,你不需要解析它,它将被转换为对象,所以只需:
$.ajax({
url: "http://localhost/ajaxpost/ajax.php",
type: "post",
data: "action=check&uid=1",
dataType: "json",
success: function(data){
$("#result").html('submitted successfully');
//Don't need this line
//response = JSON.parse(data);
//you called the object data, so use it
status = data.status;
alert(status);
},
error:function(){
$("#result").html('there is error while submit');
}
});