javascript - 无法获取 JSON 响应项

标签 javascript json ajax object vue.js

我正在尝试创建一个 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 ) {}
  }

关于javascript - 无法获取 JSON 响应项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47718172/

相关文章:

json - 从 jq json 输出中排除列

php - Internet Explorer 8 不为 ajax 请求传递 session cookie

javascript - email() 不是通过 onclick 属性实现的函数

javascript - ExtJS 4.2.1 不同 View 之间的导航 - 最佳实践

javascript - Three.js TrackballControls.js 仅在 z 轴和 x 轴上旋转

java - 将 JSON 数组解析为对象集合

java - 在 Java 中重新解析 JSON 对象?

javascript - 在 Ajax 中选择更改/提交

javascript - Ember-cli 中的 Polymer 1.0,外观错误

javascript - Material ui DatePicker 仅启用年份