我正在尝试创建一个AJAX调用-我想使用响应。

这是我在浏览器的网络控制台中看到的答复:

{
    "message": "success",
    "file": "dump.xml"
}

这就是我想要做的:
onComplete: function onComplete(data) {
            var vm = this;
            console.log(data.file);
            this.$set('upload', data);
            this.$set('filename', file);

            this.modal.show();
        }

好的。好吧-我得到一个响应,如果我将data写入console.log,我会得到:
{"message":"success","file":"dump.xml"}

但是,如果我尝试这样做:
console.log(data.file);

我变得不确定。但为什么?

最佳答案

您将其作为字符串接收。您必须先通过以下方式将其解析为JSON:

data = JSON.parse(data);
console.log( data.file )

其他选项:或者您可以根据要求定义它,添加dataType: "json"以便接收json。

喜欢:
   $.ajax(
   {

      type: "POST",
      dataType: "json",
      url: url,
      data: {},
      success: function( response ) {}
  }

10-05 20:43
查看更多