javascript - $.ajax传json字符串不行,传json对象就行
天蓬老师
天蓬老师 2017-04-10 15:41:02
[JavaScript讨论组]

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

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

代码如下

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

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(10)
阿神

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

阿神

@liuruizhe728 说的对

contentType:'application/json'
//后台接收$json = file_get_contents('php://input');
//$arr = json_decode($json,true);
PHP中文网

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

PHP中文网

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

高洛峰

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

PHPz

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

怪我咯

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

高洛峰

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

data: {
    key: aa
}

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

高洛峰

手册

迷茫

给位大神,有没有在线练习ajax实例的实战,最好要有接口!data{"xx":yy};

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号