在 Internet Explorer(IE6、IE7 和 IE8)中,空字符(“0x00”)及其后的任何字符都会从 ajax 响应(数据)中删除。
我有一个 AJAX 请求循环,如下所示:
var pages = 10;
var nextnoteid = 0;
for (isub = 1; isub <= pages; isub++)
{
var c = "http://www.site.com/application.exe?id=" + nextnoteid;
$.ajax(
{
url: c,
cache: false,
async: false,
success: function(data)
{
var start = data.indexOf("NEXTNOTEID") + 10;
// save the id of the next note to retrieve
nextnoteid = data.substring(start, start + 16).trim();
data = data.substring(0, start - 10);
// append note to DOM
$("#printarea").append("<pre class='pxprintpage'>" + data + "</pre>");
}
});
}
响应以以下格式返回(_ 代表 0x00 字符):
Note Title Note Author ... simple text note ... __________NEXTNOTEID__________9827482998274829__________
如何在 IE6、IE7 和 IE8 中获取 0x00 之后的数据而不更改响应?
最佳答案
我不确定这是否真的有帮助,但请尝试将传递给 .ajax() 的选项中的 dataType
字段设置为 "text"
。
如果这不能解决问题,请查看传递给 .ajax() 的 dataFilter
选项。它允许您指定回调函数来处理原始响应。
关于javascript - IE AJAX 响应 trim 空 (0x00) 字符后的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8854353/