访问Ajax响应数据

Accessing Ajax Response Data

本文关键字:数据 响应 Ajax 访问      更新时间:2023-09-26

我有一个运行良好的代码:

{"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) {
    }
});

由于重新定义了函数,开关将失败,因为在示例中,发布的livre将位于id对象中,而位于data对象中。