在Ajax开发中因为是通过XMLHttpRequest获取服务器页面的,因此当服务器端出现错误的时候并不是直接显示于浏览器,从而看不到错误,给调试带来麻烦。解决办法有2个:
(1)直接在浏览器中输入异步调用的地址,看返回结果。这在少参数的get调用中很有效,但对于post请求或者复杂的get请求,很难做到。
(2)也就是我说的所谓小技巧,呵呵,下面给出了prototype框架和不使用框架的典型用法:
//基于prototype框架开发的典型写法
onFailure : function ( transport ){
//当请求失败时,新建窗口显示错误信息
var w = window . open ( "" );
w . document . write ( transport . responseText );
}
onFailure : function ( transport ){
//当请求失败时,新建窗口显示错误信息
var w = window . open ( "" );
w . document . write ( transport . responseText );
}
//直接使用XMLHttpRequest的用法
xmlhttp . onreadystatechange = function ()
{
if ( xmlhttp . readyState == 4 )
{
if ( xmlhttp . status == 200 )
{
//请求成功的处理语句
}
else
{
//当请求失败时,新建窗口显示错误信息
var w = window . open ( "" );
w . document . write ( xmlhttp . responseText );
}
}
}
xmlhttp . onreadystatechange = function ()
{
if ( xmlhttp . readyState == 4 )
{
if ( xmlhttp . status == 200 )
{
//请求成功的处理语句
}
else
{
//当请求失败时,新建窗口显示错误信息
var w = window . open ( "" );
w . document . write ( xmlhttp . responseText );
}
}
}