0

对于我正在处理的项目,我需要将一些字符数据从网页发送到本地服务。这在 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 中将所有字符串数据发送到我的服务

4

1 回答 1

0

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

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

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

于 2013-01-26T20:19:16.713 回答