ajax返回字串的比較
JScript code
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不相等,怎麼回事呀,換成什麼字元都是。
------解決方案--------------------
var a=XMLHttp.responseText; 這行下面加上:
alert(a); //彈出什麼。貼出來。
------解決方案--------------------
看一下 a和b的length屬性是否相同
如果照你說的 alert(a) 彈出的值顯示的是 \r\nsuccess
那麼它實際的內容應該是
JScript code
var a = "\\r\\nsuccess"; var b = "success";
------解決方案--------------------
或者你可以用正則匹配來判斷:
var b=/success/g;
if(!b.test(a))
{
document.getElementById("status").innerHTML=a;
}
else
eval("alert('添加成功');window.location='test2.php';");
------解決方案--------------------
var a=XMLHttp.responseText;
alert('[' + a + ']');
說說都看到了什麼
只有弄清楚了返回的是什麼,才能判斷是什麼問題
瞎猜是沒有意義的