• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript – $.ajax传json字符串不行,传json对象就行

php 搞代码 3年前 (2022-01-25) 27次浏览 已收录 0个评论
文章目录[隐藏]

<body>

如图所示,我看到很多文章里都是把数据转换成json字符串传过去的,但我这样做之后提示

可以看到Form Data里面的数据没对,把我传的值当作一个键值了,后台也无法接收到数据(解析了json字符串也不行,输出为空)

代码如下

如果直接传对象进去,就对了,后台也能接收到数据

不知道问题出在哪儿,求大神指点

回复内容:

<body>

如图所示,我看到很多文章里都是把数据转换成json字符串传过去的,但我这样做之后提示

可以看到Form Data里面的数据没对,把我传的值当作一个键值了,后台也无法接收到数据(解析了json字符串也不行,输出为空)

代码如下

如果直接传对象进去,就对了,后台也能接收到数据

不知道问题出在哪儿,求大神指点

/本文来源gao@!dai!ma.com搞$$代^@码5网@搞代gaodaima码

你这样的写法应该是 contentType:’application/json’

@liuruizhe728 说的对

<code class="php">contentType:'application/json'//后台接收$json = file_get_contents('php://input');//$arr = json_decode($json,true);</code>

个人建议你下载未压缩的jQuery,单步跟踪源代码执行,比大神直接告诉你涨经验。

data的数据格式可以为字符串/json格式的对象/数组
但是有个条件都需要能够被解析为查询字符串,也就是key/value键值对形式

data本来就应该传对象啊……谁说传字符串的
自己去查下api不就知道了……

你对 dataType:”json”怎么理解的?如果你认为这是,传到服务器的格式,你就弄错了,自己去查查资料,这里的dataType到底是指什么?@liuruizhe728 的方法应该是可以的

$.ajax 方法的 data 只允许两种参数类型:**Object** 和 **QueryString**,你传个 JSON 肯定不行啊,另个,dataType 是指 Response 回来的类型,不是你 Request 过去的类型!

是你用错了,data本身就应该是一个Object,改成下面这样,后台接收key之后就可以拿到json了,解析一下就好了

<code>data: {    key: aa}</code>

另外dataType是服务端返回的类型,也就是api必须返回json格式的数据

手册


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript – $.ajax传json字符串不行,传json对象就行

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址