首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IE 8+ XDomainRequest 'post‘不工作

IE 8+ XDomainRequest 'post‘不工作
EN

Stack Overflow用户
提问于 2012-10-17 05:40:11
回答 2查看 3.6K关注 0票数 1

我使用jQuery.XDomainRequest.js (https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest)来支持IE中的ajax请求。

它对我的GET请求很有效,但是POST不工作,它返回一个500。(我检查过了,它可以在其他浏览器中工作,所以它的XDR特定问题)。

我的ajax调用如下所示:

代码语言:javascript
复制
var contact = {};
contact.firstName = "ABC"; 

jQuery.ajax({
     type:  'POST',
     url:   contactDetailsUrl,
     data:  contact,
     dataType: 'json',
     success: function(data) {
                callback(true);
              },
     error: function(data) {
                alert('Currently having trouble posting.');
                callback(false);
            }
});

这是我第一次遇到XDomainRequest,我自己做了一些研究,但我不知道为什么会失败。

提前感谢您的帮助!

编辑:我做了一些调试。

我的测试url = "http:/myserver/ test /index.php?key=123“(这会产生一个跨域请求)

我打印json_encode($_GET),我得到:{"key":"123"}我打印json_encodee($_POST),我得到:[]。

很明显,我的帖子数据没有被发送。

这是发送我的数据的代码行:

代码语言:javascript
复制
xdr.send(postData);

postData看起来像这样:

代码语言:javascript
复制
"firstName=ABC"

我在php代码中的头文件如下:

代码语言:javascript
复制
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-17 22:10:29

好吧,所以我的php知识比我的XDR知识差。

下面的链接很有帮助

http://social.msdn.microsoft.com/Forums/eu/iewebdevelopment/thread/fe1570a0-8670-450d-90e6-1e03bd338569

我必须使用$HTTP_RAW_POST_DATA而不是$_POST。

我会把这个问题放在一边,以防其他像我一样的人偶然遇到这个问题。

票数 1
EN

Stack Overflow用户

发布于 2013-09-13 15:55:23

这在php中应该可以工作

代码语言:javascript
复制
echo file_get_contents('php://input');

将其用作$_POST

代码语言:javascript
复制
$_POST=json_decode(file_get_contents('php://input'), true);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12923866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档