后台返回的数据显示[object Object]求解

在vuejs的页面请求后台数据返回[object Object],怎么解决?
在vuejs的页面请求:
this.$http.get(url).then((resp) =>{
console.log(resp) //得到的结果为[object Object],不可读
},(resp) =>{
//错误返回处理逻辑,这里大神不用看
})

在后台的controller已经使用@RestController与@GetMapping,
vuejs的VueResource已经配置,在main.js中的引入为:
import VueResource from 'vue-resource'
Vue.use(VueResource)
望各位大神不吝赐教!

6个回答

返回的的确也是个对象,数据部分是,resp.data.XX,你返回的JSON比如是{id:1,name:haha,own:[1,2,3]},得到id就是resp.data.id。

我觉得是后台返回的问题,你不妨用 fiddler 抓包,或者浏览器的 network 看看返回是否正常

你后台不能直接返回对象。要用JSON.stringify()之类的函数把对象转换成json格式的字符串,让后台返回这个字符串给前端

weixin_44761575
浊世非 有的直接返回信息,而我的是返回Object,用JSON.stringify()只能返回字符串可以查看Object中的键值对,不能用来遍历输出。一般返回Object就是把信息拿到了,可以直接遍历输出就行
8 个月之前 回复
weixin_42715123
x x夏 返回的的确也是个对象,数据部分是,resp.data.XX,你返回的JSON比如是{id:1,name:haha,own:[1,2,3]},得到id就是resp.data.id。
大约 2 年之前 回复
wenjunlong88_easy
wenjunlong88_easy 后台返回的就是字符串,后台使用@RestController,这个注释相当于@ResponseBody与@controller的组合,返回json字符串
大约 2 年之前 回复

现象:使用ajax发送请求,因为后台php,使用了阿里的短信,后来返回类型object Object,在浏览器上看到是这样的返回格式:{msg:90,ok:ok}[1,#98978]。ajax返回值不好处理。{msg:90,ok:ok}这个是第三方短信返回值,去不掉。[1,#98978]这个才是自己后台要用到的返回值。
如果返回类型复杂,并且只是返回一个字段,此时可以用complete接受回调函数,data.responseText将返回结果作为String,在截取字符串即可。

,你不妨用 fiddler 抓包,或者浏览器的 network 看看返回是否正常

统一回复:问题已经解决了,非常感谢各位大佬的回答与帮助,后台的controller使用@RestController相当于@ResponseBody与@Controller的组合,
返回的就是json字符串。vuejs前端使用,如下使用就可以了。
this.$http.get(url).then((resp) =>{
正确请求逻辑处理
},(resp) =>
错误请求逻辑处理
})

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐