AJAX xmlHttp.readyState的返回值总是1

学习 时间:2026-04-09 17:33:57 阅读:4881
AJAX xmlHttp.readyState的返回值总是1代码如下:function QP2001_JF2001_Click(sCode,sPrtPrj,sReferFlag) {var tStrUrl;var tStrCondition;tStrCondition = " AND a.cContractCode = '" + sCode + "' "+ " AND f.cPPCode = '" + sPrtPrj + "'";tStrUrl = "../qp/QP2001_A.aspx?MODE=SEARCH"+ "&CONDITION=" + escape(tStrCondition)+ "&SHOWMODE=" + sReferFlag+ "&OTHER=REFER";xmlHttp.open("GET",tStrUrl,true );xmlHttp.onreadystatechange = QP2001_JF2001_Click_HttpResponse;xmlHttp.send(null);return true;}function QP2001_JF2001_Click_HttpResponse() {if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {var xmlDoc = xmlHttp.responseXML;if (xmlDoc.documentElement) {var tStrStatus = xmlDoc.getElementsByTagName("STATUS")[0].text; var tStrDoc;if (tStrStatus == "OK") {var tIntDatanum = xmlDoc.getElementsByTagName("DATANUM")[0].text; //记录数if (tIntDatanum == 0) {alert("没有可操作数据.");return false; }else{alert("OK");}}else{alert(tStrStatus);return false;}}}}里面xmlHttp.readyState的返回值总是1MaxMartin 的回答,各返回值的意义我知道,主要是不知道为啥会总返回1 服务端代码Web.HttpContext.Current.Response.Clear()Web.HttpContext.Current.Response.ContentType = "text/xml"Web.HttpContext.Current.Response.AddHeader("Content-Type","text/xml; charset=utf-8")Web.HttpContext.Current.Response.AddHeader("Cache-Control","no-cache,private")Web.HttpContext.Current.Response.AddHeader("Pragma","no-cache")tStrXml = "" & vbNewLine & _"" & vbNewLine & _" OK" & vbNewLine & _" " & tStrMode & "" & vbNewLine & _" JF2004" & vbNewLine & _tStrXmlText & vbNewLine & _""Web.HttpContext.Current.Response.Write(tStrXml)Web.HttpContext.Current.Response.End()

最佳回答

温婉的云朵

内向的小懒虫

2026-04-09 17:33:57

用这个ajax的封装,绝对没有问题$ajax=function(){};$ajax。ajax = function(ob){if (!ob。url) return;var xmlhttp = (function(){try {return new XMLHttpRequest(); // Firefox,Opera 8。0+,Safari IE7} catch (e) {if (window。ActiveXObject) {var ActiveXName = ['MSXML2。XMLHttp。5。0','MSXML2。XMLHttp。4。0','MSXML2。XMLHttp。3。0','MSXML2。XMLHttp','Microsoft。XMLHttp'];for (var i = 0; i < ActiveXName。length; i++) {try {return new ActiveXObject(ActiveXName[i]); //Internet Explorer 5。0+} catch (e) {return false;}}}else {return false;}}})();var type = ob。type || "get";var asyn = ob。asyn || true;if (xmlhttp) {xmlhttp。open(type,ob。url,asyn);xmlhttp。onreadystatechange = function(){if (xmlhttp。readyState != 4) {//如果before在object内,就运行,否则就不运行//一般用作loadingif (ob。before) {ob。before();}}else {//这个success函数必须要有!//注意,success函数传入了值进去//或者仅仅把xmlhttp传入success也可以,然后在success的function里面写var tempText=xmlhttp。responseText 也可以的。//或许这个以后会做修改,目前还是直接把返回的文本给success,因为这个还是很常用的//如果新加入了一个xml,参数为true,说明传进来的是xml[这样的话就传xmlhttp,像怎样就怎样],默认是得到它的txtob。xml ob。success(xmlhttp) :ob。success(xmlhttp。responseText);}};//这个好像可以解决IE ajax请求缓存的问题,如果不行,就把它注释吧,正在测试xmlhttp。setRequestHeader("If-Modified-Since","0"); //xmlhttp。setRequestHeader("Cache-Control","no-cache");xmlhttp。send(null);}else {//如果error在obeject内,就运行,否则就不运行if (ob。error) {ob。error();}}};

最新回答共有2条回答

  • 传统的学姐
    回复
    2026-04-09 17:33:57

    用这个ajax的封装,绝对没有问题$ajax=function(){};$ajax。ajax = function(ob){if (!ob。url) return;var xmlhttp = (function(){try {return new XMLHttpRequest(); // Firefox,Opera 8。0+,Safari IE7} catch (e) {if (window。ActiveXObject) {var ActiveXName = ['MSXML2。XMLHttp。5。0','MSXML2。XMLHttp。4。0','MSXML2。XMLHttp。3。0','MSXML2。XMLHttp','Microsoft。XMLHttp'];for (var i = 0; i < ActiveXName。length; i++) {try {return new ActiveXObject(ActiveXName[i]); //Internet Explorer 5。0+} catch (e) {return false;}}}else {return false;}}})();var type = ob。type || "get";var asyn = ob。asyn || true;if (xmlhttp) {xmlhttp。open(type,ob。url,asyn);xmlhttp。onreadystatechange = function(){if (xmlhttp。readyState != 4) {//如果before在object内,就运行,否则就不运行//一般用作loadingif (ob。before) {ob。before();}}else {//这个success函数必须要有!//注意,success函数传入了值进去//或者仅仅把xmlhttp传入success也可以,然后在success的function里面写var tempText=xmlhttp。responseText 也可以的。//或许这个以后会做修改,目前还是直接把返回的文本给success,因为这个还是很常用的//如果新加入了一个xml,参数为true,说明传进来的是xml[这样的话就传xmlhttp,像怎样就怎样],默认是得到它的txtob。xml ob。success(xmlhttp) :ob。success(xmlhttp。responseText);}};//这个好像可以解决IE ajax请求缓存的问题,如果不行,就把它注释吧,正在测试xmlhttp。setRequestHeader("If-Modified-Since","0"); //xmlhttp。setRequestHeader("Cache-Control","no-cache");xmlhttp。send(null);}else {//如果error在obeject内,就运行,否则就不运行if (ob。error) {ob。error();}}};

上一篇 Cu2(OH)2CO3怎么变成Cu

下一篇 悬赏翻译跪等大神,英语专业或者物流专业的麻烦帮帮忙