Spotlight_mar
Spotlight_mar
2016-12-30 04:29
采纳率: 62.1%
浏览 2.4k

jquery的get,post等方法回调函数会自动把返回json格式的data转化为对象吗?

我服务器用express框架的res.json()响应,传入的参数是{code:'1',msg: '操作失败'},这个方法把对象转化为json后返回,而在前端,把jquery的ajax方法的回调函数传入data,确可以直接输出data.code这种对象属性?
是不是说jquery已经自动转化json为对象了,那如果格式不符合键值对的返回数据呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • showbo
    已采纳

    配置dataType为json会自动帮你将回到中的参数转为json对象,但是你你需要返回标准json字符串,就你贴出来这个是会报错的,以为内jq1.4+以上用的JSON.parse来转换,怪异模式会报错

    jQuery dataType指定为json的问题

    点赞 评论
  • wheat235
    wheat235 2016-12-30 04:45

    这个和你传的数据和ajax设置的接收数据格式有关吧;如果ajxa中的dataType(支持的数据类型:"xml" "html" "text" "script" "json" "jsonp")你设置的是 html ,你返回json字符,估计直接data.code是拿不到数据的。
    PS : 据了解dataType的默认值是jQuery 智能判断的,你可以换几个类型试试看。

    点赞 评论
  • jouckst
    jouckst 2016-12-30 05:23

    用了JQ 你可以用 JSON.pase() 或JSON.stringfiy() 来转换json字符串 和json对象

    点赞 评论
  • listmana
    DaraLyn 2016-12-30 06:43

    和ajax设置的接收数据格式有关,
    ajxa中的dataType设置成 "json"时,返回数据会直接转换为json对象。
    此时,如果返回数据不是标准json格式,会报错。

    点赞 评论
  • dcxy0
    Q544471255 2016-12-30 06:51

    可以先去json.cn 检测一下你返回的是不是json,然后在通过jquery的ajax进行获取处理,在ajax的时候使用dataType:"json",就会帮你转换了。

    点赞 评论
  • bojie5744
    @heyun 2017-01-01 15:29

    默认不会,使用 JSON.pase()

    点赞 评论

相关推荐