如何知道xmlhttp的responsetext返回值是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何知道xmlhttp的responsetext返回值是啥?相关的知识,希望对你有一定的参考价值。

如:
if(xmlhttp.responseText.indexOf("XXX") > -1)

alert("xxx");

就可以知道有没有"XXX"。

但我想知道这个xxx是什么呢?也就是如果返回的是不确实的值呢,如何获取这个不确定的值?
请高手指教。
补充一点:比如我要获取读出的用户名、密码、注册日期...中的用户名?

1、responseText返回的数据,是你读取的那个文件对应的文本字符串
2、你的问题不是不知道responseText是什么,而是不知道怎么将 responseText 里面带的数据读出来,所以你需要一种数据读取得一种方法

我建议你用XML格式适用 xmlHttp,因为xml处理格式化的文数据比较好。下面是我的建议:
1、确定你的数据格式。也就是你用xmlHttp返回数据的格式比如这样
<Data>
<UserName>UserName</UserName>
<PassWord>PassWord</PassWord>
</Data>

你可以用asp、jsp输出这个格式,注意输出是的编码方式,比如用gb2312输出

2、从客户端读取数据
var xmlhttp = new activexobject("microsoft.xmlhttp");
xmlhttp.open("post","server.php",false); // 使用asp时用server.asp
xmlhttp.setrequestheader("contrn-type","text/xml");
xmlhttp.setrequestheader("contrn-charset","gb2312");

xmlhttp.send(tree(canvas.documentelement));

(上面的代码是从前面的老兄哪里复制过来的,呵呵)

3、读取数据中的参数
var xmlDoc = xmlhttp.responseXML

var userName = xmlDoc.selectSingleNode("Data/UserName").text
var PassWord = xmlDoc.selectSingleNode("Data/UserName").text

4、最后就是使用这些取道的变量了

不知道这样回答,你能接受吗?
参考技术A 你要获取的远程数据肯定是有固定格式的,比如:在用户名、密码、注册日期之间用|分隔。
把获取的数据处理一下,比如分割成数组,再根据存放的位置提取需要的数据。
==========================================
用document.write或alert输出看看就知道了。
返回多个值,那是什么样的数据格式?就是说以什么分隔的?本回答被提问者采纳
参考技术B xmlhttp的responsetext得到的是html的代码,你需要用正则表达式判断是否包含某一特征的字符串,只用
if(xmlhttp.responseText.indexOf(\"XXX\") > -1)
可能有误判,因为只要包含XXX就会>0,而找到的XXX不一定是你想要的,比如还有个xxxx,你只要把xmlhttp.responseText当作字符串,然后用正则表达式找到你想要的东西就行了.把xmlhttp.responseText的内容写入到一个文本文件里便于观察
参考技术C 变量。如:
if(xmlHTTP.responseText.indexOf("Error:")!=-1) alert(xmlHTTP.responseText);

// 传送xml文档到服务器
function savexml()

var xmlhttp = new activexobject("microsoft.xmlhttp");
xmlhttp.open("post","server.php",false); // 使用asp时用server.asp
xmlhttp.setrequestheader("contrn-type","text/xml");
xmlhttp.setrequestheader("contrn-charset","gb2312");

xmlhttp.send(tree(canvas.documentelement));
var s = xmlhttp.responsetext;
minview.innerhtml = s.replace(/width:500;height:300/,"width:120;height:72")
if(xmlhttp.responsetext.indexof("error:")!=-1)
alert(xmlhttp.responsetext);

参考技术D 只是xml的,

原生JavaScript检验URL链接是否有效(正常访问)

function getUrlState(URL){
  var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
  xmlhttp.Open("GET",URL, false);
  try{
    xmlhttp.Send();
  }catch(e){
  }finally{
    var result = xmlhttp.responseText;
    if(result){
      if(xmlhttp.Status==200){
        return(true);
      }else{
        return(false);
      }
    }else{
      return(false);
    }
  }
}

 

以上是关于如何知道xmlhttp的responsetext返回值是啥?的主要内容,如果未能解决你的问题,请参考以下文章

将 php 变量传递给 xmlhttp.responseText

如何从json文档打印列表

Ajax的使用

AJAX - 服务器响应

ajax 返回数值 分段 显示 怎么做

原生JavaScript检验URL链接是否有效(正常访问)