Ajax中status值为500或是12030的问题
初学Ajax,对着书本敲代码进行调试,结果到最后一直不出正确结果,页面不能正常显示信息,在代码中加入alert(req.status);进行调试,最后发现status值为500,百思不得其解,最后才发现为Ajax传值的页面Default.aspx的源代码中有<html><form>等代码,因为显示页中也有form,而同一页中不能出现二次form,所以把被调动页中的<html></html>之间的所有内容全部删除,<html>之前的@开头的内容要保留。发现解决了status=500的问题。
之后又出现了status=12030的问题。程序运行不下去。把书上的代码与我所写的代码一个一个字母的对了一遍,都没有错误,那这问题到底是出在了哪儿呢?最后我把判断条件if(req.status==200)改成了if(req.status==12030)程序运行成功。而在此句前用alert(req.status);查看值时,返回的状态值变成了200,大功告成。又把if语句改为==200,程序运行成功。
小节心得。可能是在调试时,status=12030的值没有完成更新,所以当你代码已经无错误时导致status=12030的问题。
在其它地方看到status值=12030|12029的值时,分别代表,文件名|项目名 使用了中文名。而ajax不能很好的支持中文所致。当你文件和项目名都没有中文时,可以用我的办法试一下哟。