繁体   English   中英

如何使用jQuery读取JSON响应

[英]How to read JSON response with jQuery

我正在尝试使用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);

由于dataType设置为json,因此无需解析响应,该方法将解析对json的响应,并将其传递给处理程序

只是

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');
    }   
});

做就是了

alert(data.status);   // online

不确定那里的解析方法。 由于您使用的是jQuery,请尝试:

var r = jQuery.parseJSON(data);
alert(r.status);

由于您将dataType定义为json,因此您无需解析它,它将为您转换为object,所以只需执行以下操作:

$.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');
    }   
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM