
在 ie8 ,很奇怪的现象, host 设置了 ip 到域名后,是能拿到请求数据的。但是不设置 host ,服务器有 cdn ,再访问 php 就拿不到请求参数了,谁知道这是为什么吗?
js 代码:
var requestData = JSON.stringify(formData); xdr = new XDomainRequest(); xdr.open("post",url); xdr.timeout = 10000; xdr.Onprogress= function(){}; xdr.Onerror= function(){}; xdr.Ontimeout= function(){}; xdr.Onload= function(){ alert(xdr.responseText); } xdr.send(requestData); php 相关代码:
header('Access-Control-Allow-Origin:*'); $arrRequest = json_decode(file_get_contents("php://input"),true); var_dump($arrRequest); 1 qiayue PRO 先别急着 json_decode ,看看你拿到的是什么值 |
3 jackmasa Feb 18, 2017 少了 setRequestHeader ,但 XDomainRequest 正好不能执行 setRequestHeader ,所以,还是 get 吧。 |
4 abc123ccc Feb 18, 2017 用 fiddler 抓包,看到底有 POST 过去数据没 |
5 foursking Feb 18, 2017 enctype="multipart/form-data" 的时候 php://input 是无效的 |
6 DuckJK Feb 18, 2017 三楼好像是长长短短大神 |
7 mingyun Feb 18, 2017 赞同 4 楼 看是否发送请求了 |
9 abc123ccc Feb 20, 2017 var_dump(file_get_contents('php://input'));这样也没有数据吗? |