2014-07-24 173 views
0

检查XMLHttpRequestObject.responseText值是否可以使用if条件而不是仅显示它来检查XMLHttpRequestObject.responseText值?是否有可能使用条件

我试过这样。

var a=XMLHttpRequestObject.responseText; 
if(a=="false") 
{ 
    document.getElementById("show_mark").innerHTML =a; 
} 

我知道它错了,但我需要做这样this.Is有这样做的任何其他替代办法?帮帮我我完全是一个新手,以AJAX。

+0

是的,这是可能的,但你需要一个回调来知道什么时候请求已经完成,并且存在responseText,因为ajax是async – adeneo

+0

如果你期望的响应是字符串“false”,那么这是正确。 – scrayne

+0

@DanRitchie但它不工作....我的回应文本是错误的,但如果循环未执行。 – user3784251

回答

0

终于让我找到了mistake.Its不实际上它的所有html标签,如<html><body>false</body>等,我在这段代码的帮助下删除了这些字符。我得到了答案。

var a=XMLHttpRequestObject.responseText; 
    a = a.replace(/&(lt|gt);/g, function (strMatch, p1){ 
    return (p1 == "lt")? "<" : ">"; 
    }); 
    var b = (a.replace(/<\/?[^>]+(>|$)/g, "")).trim(); 
    if(b=="false") 
    { 
     document.getElementById("show_mark").innerHTML =b; 
    } 

感谢您的支持。

+0

48小时后不要忘记接受您的答案([http://stackoverflow.com/help/self-answer](http://stackoverflow.com/help/self-answer)):-) – tgogos

0

可能是响应文本添加了空格。要删除字符串开头和结尾处的空格,请使用string.trim()。

在你的情况下= a.trim()

如果微调是不是在你的浏览器的JavaScript解释器可以添加在

if (!String.prototype.trim) { 
    String.prototype.trim = function() { 
    return this.replace(/^\s+|\s+$/g, ''); 
    }; 
} 

Source

+0

对不起,修剪它显示长度为“146”..我认为它不是错误 – user3784251

+0

尝试a.charCodeAt(n)为n的不同值看看附加字符 – jing3142

+0

感谢你给出这个建议('a.charAt(n)')。我发现了什么是额外的字符。我也发布了答案。 – user3784251