在IE中将数据发送到本地服务jQuery失败

时间:2013-01-26 20:10:58

标签: javascript jquery internet-explorer

对于我正在处理的项目,我需要将一些字符数据从网页发送到本地服务。这在Firefox和Chrome中运行良好,但在IE8中不行。

我的代码:

var longstring = 'a very, very, very long string of 7726 characters';

alert('String size is '+longstring.length);

jQuery.ajax({
    type: 'POST',
    url: 'http://localhost:9001/MyService/ReceiveString?callback=?',
    data: { mystring: longstring },
    success: function (result) { alert('Success: ' + result); },
    error: function (result) { alert ('Error: '+result); },
    dataType: 'json',
    async: false
});

alert('Post done!');

我在IE和Chrome中对此进行了测试,效果很好。所有数据都将发送到本地服务。但是,当我从IE中运行此命令时,发送到服务的数据将被转换为2880个字符。

我在IE中记录了字符串长度,在发送到服务之前看起来没问题。我不认为这是IE字符串大小限制。

我正在使用jQuery 1.8.2,我在文档中找不到用于发布数据的方法的大小限制。

这曾经是一个异步调用,我把它改为同步只是为了看看IE是否可以在执行过程中关闭Javascript,但情况似乎并非如此。

我得到了“发布完毕!”所有浏览器都提醒。

如何在IE中将所有字符串数据发送到我的服务

1 个答案:

答案 0 :(得分:0)

我看到你有两个''您的网址中的字符,不确定这是否会导致任何问题?

此外,Internet Explorer的最大URL长度为2083个字符[http://support.microsoft.com/kb/208427]。这不应用于“发布”数据,因为此作为标头发送,而不是作为网址的一部分发送。

您可能会尝试在Internet Explorer中跟踪请求,以查看数据是否作为POST数据正确发送而不是作为URL的一部分