在使用xmlHttp.responseText时,如果后台传送过来的数据有误时会触发-1072896748系统错误。
在网上搜到如下解决方法:
try
{
helloMessage = xmlHttp.responseText;
}
catch (exception)
{
if (exception.description.indexOf("-1072896748")>0)
{
helloMessage = "";
}
}
获取错误代码,然后对其进行处理。虽然页面上没有了错误提示,但这样会造成数据丢失。
★ XMLHTTPRequest 默认是用 UTF-8 传递数据的 <问题的关键>
最终解决办法:
将网页编码转换为UTF-8
前台页面加上
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
后台数据处理页面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
IE 好像还会缓存由 XMLHTTPRequest 收到的内容,解决办法:
一个解决方法是在后台写expires: 0或者其他的禁止前台cache的头,但是这样在数据没有更新的时候又会带来不必要的服务器压力、响应延迟和带宽浪费。
一个稍微好一点的解决方法是,前台在提交数据以后,需要强制更新数据的时候:
xmlhttp.setRequestHeader("If-Modified-Since","0");