如图所示,我看到很多文章里都是把数据转换成json字符串传过去的,但我这样做之后提示
可以看到form data里面的数据没对,把我传的值当作一个键值了,后台也无法接收到数据(解析了json字符串也不行,输出为空)
代码如下
如果直接传对象进去,就对了,后台也能接收到数据
不知道问题出在哪儿,求大神指点
回复内容: 如图所示,我看到很多文章里都是把数据转换成json字符串传过去的,但我这样做之后提示
可以看到form data里面的数据没对,把我传的值当作一个键值了,后台也无法接收到数据(解析了json字符串也不行,输出为空)
代码如下
如果直接传对象进去,就对了,后台也能接收到数据
不知道问题出在哪儿,求大神指点
你这样的写法应该是 contenttype:'application/json'
@liuruizhe728 说的对
contenttype:'application/json'//后台接收$json = file_get_contents('php://input');//$arr = json_decode($json,true);
个人建议你下载未压缩的jquery,单步跟踪源代码执行,比大神直接告诉你涨经验。
data的数据格式可以为字符串/json格式的对象/数组
但是有个条件都需要能够被解析为查询字符串,也就是key/value键值对形式
data本来就应该传对象啊……谁说传字符串的
自己去查下api不就知道了……
你对 datatype:json怎么理解的?如果你认为这是,传到服务器的格式,你就弄错了,自己去查查资料,这里的datatype到底是指什么?@liuruizhe728 的方法应该是可以的
$.ajax 方法的 data 只允许两种参数类型:**object** 和 **querystring**,你传个 json 肯定不行啊,另个,datatype 是指 response 回来的类型,不是你 request 过去的类型!
是你用错了,data本身就应该是一个object,改成下面这样,后台接收key之后就可以拿到json了,解析一下就好了
data: { key: aa}
另外datatype是服务端返回的类型,也就是api必须返回json格式的数据
手册
