编辑:是的,Firefox 有 4096 个字符的限制。
这里有一些解决方法:
http ://forums.ext.net/showthread.php?8208-Firefox-Ajax-limit-of-4096
编辑:从那篇文章:
我创建了一个 JS 函数来处理来自 Web 服务 ajax 调用的“结果”……它在 FF 和 IE 中都有效……
就这么叫吧……
var strResult=Ext.DomQuery.selectValue("string", result, "");
function getWebSvcString(result)
{
var strResult="";
var stringElement = result.getElementsByTagName("string")[0];
if (stringElement.text!=null && stringElement!=undefined){
strResult=stringElement.text;
// alert("IE: "+strResult.length);
}
else if (stringElement.textContent!=null && stringElement.textContent!=undefined)
{
strResult=stringElement.textContent;
// alert("FF: "+strResult.length);
}
return strResult;
}
另外,我会将 Post 排除在外,因为它是默认设置。它只会让你的代码更干净。此外,我会在您的 Ajax 调用中的错误事件响应中添加一条错误消息。这也可能提供线索。
$.ajax({
async:true,
url: '/site/phpscript.php',
data: {
xyArray: xyArray,
xmlDataString:xmlDataString,
id:id
},
success: function(results){ alert('success'); },
error: function(xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
根据我的经验,当浏览器遇到 Ajax 调用问题时,是因为数据格式不正确。您可以通过验证器运行帖子和响应吗?可能缺少字符、某处多余的逗号或缺少结束标记。