询问一个关于JS AJAX POST Json数据,PHP接收数据的方法 phpajaxjavascript 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 由于你没告诉我们你的 Simple.Ajax 是如何写的,那么也只能从原理上说一下1、如果使用 post 方式发送,那么必须有 Content-Type = application/x-www-form-urlencoded 的声明否则 php 不会将出传入的数据解析到 $_POST 数组你发了一个 contentType = application/json 的声明,即便你的 Simple.Ajax 会自动补上一个 Content-Type = application/x-www-form-urlencoded 的声明。这两个相佐的声明也会使 php 无所适从2、你发送的数据是 {data:jsonData},这是一个 js 对象。即使能够发送成功,php 也会因为不认识这个对象,而无法解析。凡是与外界进行交换的数据结构,都需要按双方约定的格式序列化成字符串假定你的 Simple.Ajax 可以将 js 的对象转换成 JSON 格式串并且你也去掉了 contentType = application/json 的声明那么你在 $_POST 中可以看到以那个 JSON串为键的元素如果你坚持不愿意去掉 contentType = application/json 的声明或许你个用 file_get_contents('php://input') 取到传入的内容 感觉我把问题复杂化了.其实我只需要把可能包含&的值用encodeURIComponent编码一下,变成百分号+字母数字这样就OK了...哈哈...Simple.Ajax 内容多了不贴出来了.不过里面默认是用Content-Type = application/x-www-form-urlencoded 作为声明的,如果我最后一个参数写上json的话就使用Content-Type=application/json作为声明 如果有 Content-Type=application/json 声明,$_POST 是不会有数据的 file_get_contents('php://input') 但不保证能成功application/json 只是服务器给使用者用的,告诉用户:你可把内容解释成一个 json 对象就好比 image/png 是说这是一个 png 图片一样而用户向服务器发送数据时,只有application/x-www-form-urlencodedmultipart/form-datatext/plain三种声明 请教:PHP变量如何到HTML,试过好多办法都不行,在线等,谢谢!! PHP输出图片后,字体文件一直处于打开状态 -_-! php里的变量范围问题 PHP初学者一个问题!!! 请教一个PHP4操作XML的问题 有没有好点的生成Excel的类啊 代码管理 php连接mysql的问题 非常简单的正则 [唠叼帮帮忙] 请教!关于查询结果如何传递给变量的问题 HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。 socket的timeout问题
1、如果使用 post 方式发送,那么必须有 Content-Type = application/x-www-form-urlencoded 的声明
否则 php 不会将出传入的数据解析到 $_POST 数组
你发了一个 contentType = application/json 的声明,即便你的 Simple.Ajax 会自动补上一个 Content-Type = application/x-www-form-urlencoded 的声明。这两个相佐的声明也会使 php 无所适从
2、你发送的数据是 {data:jsonData},这是一个 js 对象。即使能够发送成功,php 也会因为不认识这个对象,而无法解析。凡是与外界进行交换的数据结构,都需要按双方约定的格式序列化成字符串假定你的 Simple.Ajax 可以将 js 的对象转换成 JSON 格式串
并且你也去掉了 contentType = application/json 的声明
那么你在 $_POST 中可以看到以那个 JSON串为键的元素
如果你坚持不愿意去掉 contentType = application/json 的声明
或许你个用 file_get_contents('php://input') 取到传入的内容
Simple.Ajax 内容多了不贴出来了.不过里面默认是用Content-Type = application/x-www-form-urlencoded 作为声明的,如果我最后一个参数写上json的话就使用Content-Type=application/json作为声明
但不保证能成功application/json 只是服务器给使用者用的,告诉用户:你可把内容解释成一个 json 对象
就好比 image/png 是说这是一个 png 图片一样而用户向服务器发送数据时,只有
application/x-www-form-urlencoded
multipart/form-data
text/plain
三种声明