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