2017-10-20 86 views
0

我的Vue应用程序中的以下代码返回的数据是一个名为“Array”的字符串,当它应该返回一个对象时。代码简化简洁起见:Axios正在返回一个名为“Array”的字符串而不是一个对象

Component.vue

import axios from 'axios'; 

axios.post(URL_HERE) 
    .then(function(response) { 
     // success 
     console.log(response); 
}) 

这将返回以下,这是错误的,因为我期待与令牌的对象。

{data: "Array", status: 200, statusText: "OK", headers: {content-type: "text/plain;charset=UTF-8"}, config: Object, …} 

但是,如果我使用XMLHttpRequest的()以同样的方式返回结果是什么我成功之后我。为什么Axios会返回一个名为“Array”的字符串?

这是来自XMLHttpRequest的回来:

{__ob__:Observer, token: "123456" } 
+0

try console.log(response.data); –

+0

ReferenceError:无法找到变量:回应 – JCraine

回答

0

我已经找到了答案,这个问题经过多次搜索。添加以下标头使所有内容都按预期工作:

axios.post(URL, '', { 
     headers: { 
      'Accept': '*/*' 
     } 
    }) 
0

尝试添加空“数据”对象为您post,像 axios.post(URL_HERE,{})

+0

我仍然得到相同的结果,它很奇怪。它可能是头相关的东西? – JCraine

+0

嗯,奇怪。请,你能检查你的请求标题内容类型? – strelok2010

+0

我通过Axios获得'Content-Type':[“text/plain; charset = UTF-8'。还尝试了vue-resource并得到了相同的结果:/ – JCraine

相关问题