if(XMLHttp.readyState==4&&XMLHttp.status==200)
{
var a=XMLHttp.responseText;
a=a.replace(/\r\n/g,"");
var b="success";
if(a!=b)
{
document.getElementById("status").innerHTML=a;
}
else
eval("alert('添加成功');window.location='test2.php';");
}后台页面时echo "success";,返回的是"\r\nsuccess",然后经过正则替换后,成了"success",但是还是和b不相等,怎么回事呀,换成什么字符都是。
alert(a); //弹出什么。贴出来。
如果照你说的 alert(a) 弹出的值显示的是 \r\nsuccess
那么它实际的内容应该是
var a = "\\r\\nsuccess";
var b = "success";
否则 \r\n将不会显示出来,而是以一个换行来表示
var b=/success/g;
if(!b.test(a))
{
document.getElementById("status").innerHTML=a;
}
else
eval("alert('添加成功');window.location='test2.php';");
alert('[' + a + ']');
说说都看到了什么只有弄清楚了返回的是什么,才能判断是什么问题
瞎猜是没有意义的
将原来的\r\n替换成了"",这是个空,所以看是看不到这个字符的,但是的确不一样,因为多了一个空字符,不要这句替换语句,直接用a=a.trim();就可以去掉\r\n了