XDomainRequest 发送 post 请求, PHP ://input 都拿不到值

2017 年 2 月 18 日
 liuxu

在 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);
4129 次点击
所在节点    PHP
11 条回复
qiayue
2017 年 2 月 18 日
先别急着 json_decode ,看看你拿到的是什么值
liuxu
2017 年 2 月 18 日
@qiayue var_dump(file_get_contents("php://input"));也是空的
jackmasa
2017 年 2 月 18 日
少了 setRequestHeader ,但 XDomainRequest 正好不能执行 setRequestHeader ,所以,还是 get 吧。
abc123ccc
2017 年 2 月 18 日
用 fiddler 抓包,看到底有 POST 过去数据没
foursking
2017 年 2 月 18 日
enctype="multipart/form-data" 的时候 php://input 是无效的
DuckJK
2017 年 2 月 18 日
三楼好像是长长短短大神
mingyun
2017 年 2 月 18 日
赞同 4 楼 看是否发送请求了
liuxu
2017 年 2 月 20 日
@abc123ccc @mingyun 抓包了,请求参数是发出去了,但是到 php 就是没有东西
abc123ccc
2017 年 2 月 20 日
var_dump(file_get_contents('php://input'));这样也没有数据吗?
liuxu
2017 年 2 月 20 日
@abc123ccc 问题解决了,被新加的网站安全系统拦截了我的请求
phpinfo
2017 年 2 月 20 日
@liuxu ....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/341415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX