无法将ajax发布到IE10

时间:2013-02-12 00:42:03

标签: jquery ajax internet-explorer internet-explorer-10

我无法在IE10中使用ajax。无论我尝试多少次/方式/框架,都没有用。它总是返回一个空字符串。

<html>
<head>
    <script type="text/javascript" src="jquery-1-9-1.js"></script>
</head>
<body>
<br/>
<a onclick="doit()">go</a>
<script>
    function doit()
    {
    var myData = { "key": "value" };
    $.ajax({
        url: "myhandlepage.php",
        data: myData,
        dataType: 'json',
        type: 'POST',
        contentType: 'application/x-www-form-urlencoded',
        success: function (data) { alert("OK = " + data.eric); },
        error: function (data, status) { alert("FAILED:" + status); }
    });
    }
</script>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

可能的答案:http://bugs.jquery.com/ticket/12790#comment:28

这似乎是IE10和POST请求的问题。所以可能根本没有解决这个问题。这意味着如果人们开始使用IE10,将会有很多破坏的ajax网站!

  

这似乎是IE10上POST请求的普遍问题,我们无法控制,因此无需在此故障单中发布进一步的反馈。这是问题的Microsoft票证;请注意,您需要创建一个登录才能查看:

     

http://connect.microsoft.com/IE/feedback/details/771016

答案 1 :(得分:1)

更新(2013年2月27日):

Microsoft已发布适用于Win 7的IE 10的最终版本。更新包含重要修复程序:Internet Explorer 10 Arrives on Windows 7


可能是您要发送的数据。请尝试下面的修订,然后您可以暂停contentType

function doit()
{
var myData = { key: "value" }; //plain object
$.ajax({
    url: "myhandlepage.php",
    data: myData,
    dataType: 'json',
    type: 'POST',
    success: function (data) { alert("OK = " + data.eric); },
    error: function (data, status) { alert("FAILED:" + status); }
});
}

来自jquery docs

  
    

contentType(默认值:'application / x-www-form-urlencoded; charset = UTF-8')

  

另外,澄清操作系统和IE10版本。

来自bug report

  
    

这只是Windows 7桌面上的一个问题.Windows 8中的IE10工作正常。