php同步调用AJAX时 无论AJAX页代码是否出错 status皆为200

relax19830426 2009-09-05 11:13:58
新手发问 有误见谅
最近使用PHP制作一数据导入程序 其中使用AJAX 因以前常用ASP 所以对于AJAX的基本模式已无疑问。但用PHP的时候却发现一个怪问题。下面是部分源码

//调用AJAX的函数
function showAjax()
{
var Poststr,URL;
//传递给AJAX的参数列表 比较喜欢用POST方式
Poststr="Nowstate=" + Nowstate;
//需要连接的页面
URL="ajaxinstall.php";
Ajaxclass.open("post",URL,false);
Ajaxclass.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
if (getVersion()=="else"){
//firefox 同步调用 getVersion为自定义函数 获得浏览器版本 6.0 7.0 else
Ajaxclass.onload=getReturn;
}
else{
//IE 同步调用
Ajaxclass.onreadystatechange=getReturn;
//getReturn为AJAX返回处理函数
}
Ajaxclass.send(Poststr);
}

//AJAX返回函数
function getReturn()
{
if (getVersion()=="else"){
//firefox 返回
//FIREFOX浏览器的操作 这里暂省略
}
else{
//IE返回
if (Ajaxclass.readyState==1){
getObject("tips").innerHTML="安装状态:正在获得数据...";
}
if (Ajaxclass.readyState==4){
if (Ajaxclass.status!=200){
getObject("tips").innerHTML="安装状态:数据错误,安装已停止!";
}

if (Ajaxclass.status==200){
//正确执行AJAX时的代码
}

}
}
}

AJAX页面的处理代码就省略了
问题: 当AJAX页面处理代码出现错误时 比如 $result=trim($_POST["fNowstate"]); 而我传递的参数名应该是Nowstate 但程序依然会执行红色部分的代码 我用alert(Ajaxclass.status)时 显示的是200 同样在查询MYSQL数据库的时候 故意把查询语句输入错误,但同样会执行。 而不是我预计的Ajaxclass!=200的情况 而以前在ASP中没有遇到如此问题 请各位赐教

...全文
110 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
relax19830426 2009-09-05
  • 打赏
  • 举报
回复
自己顶下

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧