问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ajax返回的responseText是什么数据类型?如何与输入的字符串做判断?

发布网友 发布时间:2022-04-27 19:19

我来回答

4个回答

懂视网 时间:2022-04-27 23:40

由于ajax在跨域的访问上有问题,目前最好的方法是做代理.写了个代理程序和心得
为了做ajax的代理,研究了下服务器端的xmlhttp并和客户端的ajax中的xmlhttp做了个比较,后台代码是asp的
服务器端的xmlhttp也就是asp小偷程序,我把代码改成了javascript.
1.在服务器端的xmlhttp.Open("GET",url,false)异步必须是关闭的,而客户端的异步是打开的,这个很好理解.
2.在服务器端的xmlhttp.Responsebody 这里用的是Responsebody而不是ResponseText或ResponseXml,一开始我是用ResponseText,但在函数

bytesToBSTR转换编码的时候提示错误,经过比较发现其他的asp小偷程序里的代码都是Responsebody,分析后,发现body返回来的是二进制数据而

不是像ResponseText或ResponseXml那样返回字符或dom对象.
ajax的asp代理函数介绍
send_request(url) ,url为地址 
服务器端代码如下带自动判断所有字符编码,已测试 日语 韩语 繁体
代码如下:
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>XMLHTTP</title>
</head>
<% 
Server.ScriptTimeout=9999999;
function send_request(url) {
    var codedtext;
    http_request = Server.CreateObject("Microsoft.XMLHTTP");
    http_request.Open("GET",url,false);
    http_request.Send(null);
    if (http_request.ReadyState == 4){
        //自动判断编码开始
        var charresult = http_request.ResponseText.match(/CharSet=(S+)">/i);
        if (charresult != null){
        var Cset = charresult[1];
        }else{Cset = "gb2312"}//对获取不到的网站采用gb2312编码,可自行更改

//自动判断编码结束
        codedtext = bytesToBSTR(http_request.Responsebody,Cset);
        }else{
        codedtext = "Erro";
        }
    return(codedtext);
}

function bytesToBSTR(body,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Type = 1;
objstream.Mode = 3;
objstream.Open();
objstream.Write(body);
objstream.Position = 0;
objstream.Type = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Close;
return(bytesToBSTR);
}

%>
<body>
<% Response.Write(send_request("http://www.daum.net")) %>
</body>
</html>

热心网友 时间:2022-04-27 20:48

这个是 你后台程序返回的数据,返回什么就是什么。在后台遍历就行了,然后以字符串形式输出就是这个 responseText

热心网友 时间:2022-04-27 22:06

这个可以:
var gtext=req.responseText;
if(rgtext.indexOf("要判断的字符串")!=-1)

热心网友 时间:2022-04-27 23:41

xml的。 可以遍历里面的值 提取出来然后 放在if语句里和你的文本框的值进行对比

建议使用JSON传输 简单些。追问如何遍历?能有个具体的例子吗?

追答的在if语句中判断是不是你要的类型 , 然后提取里面的文本!

像这样打印出来 你可以直观的看到的↓
document.getElementById("results").innerHTML=xmlHttp.responseText

也可以是下断点bug 麻烦点

PS:
要是遍历代码的话。网上很多的,多看看别人的代码吧。

我以前是搜索ajax responseText 会有很多网页

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上海大学建筑系录取分数线是多少? 上海大学09年法硕考试录取分数线是多少? 什么品牌的男生卸妆产品值得入手? 求下图的剪力方程和弯矩方程,作剪力图和弯矩图,并求最大弯矩。求... 德州哪个县区最富 搜狗输入栏不能显示是为什么? 石璜镇历史演变 ...突突的声音,排气管还冒黑烟,有时走也是走走停停的, 我手机型号步步高V206的,手机的内存U盘显示以满但我查看了手机,手机里 ... 步步高v206,我想下载手机英语,希望各位指点指点,哪里有下载,下载后具体... 已婚男人为什么会跑马?? 男人“跑马”是怎么回事? 男人跑马了是什么原因 45岁男人晚上跑马怎么回是 男性夜间跑马是怎么回事 45岁男人晚上经常跑马怎么回是? 男人为什么会跑马 男人晚上跑马什么情况 已婚男人晚上跑马是怎么回事 为什么男人跑马都是在晚上??? 为什么男人累了半夜会跑马? 男人为什么会跑马? 男人跑马是什么原因 我老公有时候晚上跑马是什么原因 仙剑5外传幻木小径存在bug? 神性是什么? 赛尔号稀有精灵介绍 这个小男孩看起来怎么样? 赛尔号中,像螳螂的精灵在那?有它的人发图看看 摩尔庄园全部人物的图片 为什么平板的配置一般不如手机 为什么平板比手机配置好价格低,用的人却很少? - 信息提示 为什么平板电脑比手机的配置好但价格却更低? 东方证券配股是好事还是坏事? 姓氏读啥? 台式机win7怎么提高开机速度 【求教】关于AJAX编码格式的问题 六年级数学复习题 六年级上册数学全品小复习第五六页答案 这种斜的停车位怎么样直接开进去? 怎么开车进入侧方车位 红绿灯十字路口如何正确进入对面右边非机动道的停车位,直接开过去还是右转掉头再右转进去 如何直接开进车位去停车? 如何把车直接开进停车位?---刚拿到实习驾照几天 车怎么进路边的停车位 ajax的汉字和英文字符的问题 ps、cs3调整置入图片大小的快捷键是哪个 房屋预售证号是指什么? 房子权证号,合同号,预告登记证明号是同一个号码吗?