wenjunlong88_easy
2018-07-16 09:56
采纳率: 80.5%
浏览 17.6k

后台返回的数据显示[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条回答 默认 最新

  • NEU_LightBulb 2018-07-17 01:20
    已采纳

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

    点赞 3 评论
  • 天际的海浪 2018-07-16 12:09

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

    点赞 1 评论
  • Hello 程序猿 2018-07-16 11:55

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

    点赞 评论
  • qq_32231973 2018-07-16 12:23

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

    点赞 评论
  • qq_42664787 2018-07-16 12:25

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

    点赞 评论
  • wenjunlong88_easy 2018-07-17 04:41

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

    点赞 评论

相关推荐 更多相似问题