Javascript 访问Ajax响应数据

Javascript 访问Ajax响应数据,javascript,jquery,json,Javascript,Jquery,Json,我有一个很好的代码: {"livre":"empty_name"} $.ajax({ url: "sent.php", type: "post", dataType: "json", data: formdata, success: function (data) { switch (data.livre) { case 'empty_name':

我有一个很好的代码:

{"livre":"empty_name"}

    $.ajax({
        url: "sent.php",
        type: "post",
        dataType: "json",
        data: formdata,
        success: function (data) {
            switch (data.livre) {
                  case 'empty_name':

                  break;
        }
    });
但是当我尝试这段代码(我需要id)时,“空名称”的情况不起作用。选择的选项将是默认情况:

{"id":"","livre":"empty_name"}

    $.ajax({
        url: "sent.php",
        type: "post",
        dataType: "json",
        data: formdata,
        success: function (id, data) {
            switch (data.livre) {
                 case 'empty_name':

                 break;
        }
    });

为什么??如何解决?谢谢

如果我理解正确,上面的对象是JSON响应,我想你想要这个

{"id":"","livre":"empty_name"}

$.ajax({
    url: "sent.php",
    type: "post",
    dataType: "json",
    data: formdata,
    success: function (data) {
        var jsonId = data.id;
    }
});

success
回调的
data
参数包含您的响应(在本例中为JSON数据)。您可以在那里访问JSON内容。

您只需要了解数据是如何返回的。在这种情况下,
data
是包含所有字段的对象。您的成功回调将继续看起来像
success:function(data)
您需要更改的代码在方法块本身中

$.ajax({
    url: "sent.php",
    type: "post",
    dataType: "json",
    data: formdata,
    success: function (data) {
        var id = data.id; //ID lives in data.
        switch (data.livre) {
    }
});

由于重新定义了函数,切换将失败,因为在示例中,posted
livre
将驻留在
id
对象中,而不是
数据
对象中。

您确定没有JavaScript错误。您的开关语法看起来错误-差事
})安装Fiddler,它将大量帮助您调试问题。它显示了一个请求列表,包括您的ajax请求和您的响应。我认为他给了我们最少的代码,而不是错误的代码。尝试使用数据['livre']来代替。。。?我真的看不出问题所在,我只是希望…为什么回调函数中有'id'。data.id和data.livre是我需要的。谢谢你的帮助