对于我正在处理的项目,我需要将一些字符数据从网页发送到本地服务。这在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中将所有字符串数据发送到我的服务
答案 0 :(得分:0)
我看到你有两个''您的网址中的字符,不确定这是否会导致任何问题?
此外,Internet Explorer的最大URL长度为2083个字符[http://support.microsoft.com/kb/208427]。这不应用于“发布”数据,因为此应作为标头发送,而不是作为网址的一部分发送。
您可能会尝试在Internet Explorer中跟踪请求,以查看数据是否作为POST数据正确发送而不是作为URL的一部分