我最近在做一个项目时,需要在javascript代码中判断从后台响应回的responseText的值是否和javascript代码中预先定义的变量值是否相等出现如下问题:
例如(javascript 代码片断):
function showCheckProvince(xmlHttpRequest){
var result=xmlHttpRequest.responseText;
/**下面判断后台响应回的数据是否为字符串--"ok" 后台返回的文本数据规定为两种:"ok"或者"wrong"
但不管返回的是哪个,(result!="ok")始终为false,不知道为什么,请各位高手帮忙!**/
if(result !="ok"){
window.alert("该省份名已经存在,请重新输入其它省份名");
$("name").value="";
$("name").focus();
}else{
addProvince();
}
}
但如果换为responseXML响应xml结构的数据,就可以比较是否相等,如把上面的代码改为:
function showCheckProvince(xmlHttpRequest){
var result=xmlHttpRequest.responseXML.getElementsByTagName("message")[0].firstChild.data;
if(result !="ok"){
window.alert("该省份名已经存在,请重新输入其它省份名");
$("name").value="";
$("name").focus();
}else{
addProvince();
}
}
后台返回的xml数据很简单:如果该省份还没存在,返回xml数据为:<res><message>ok</message></res>
如果该省份已经存在,返回xml数据为:<res><message>wrong</message></res>
这是什么原因呢?