var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); 火狐不兼容问题HTML调用ASP实现和数据库同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); 火狐不兼容问题HTML调用ASP实现和数据库同步相关的知识,希望对你有一定的参考价值。

function XmlPost2(webFileUrl)

var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);
xmlHttp.send("");
result = xmlHttp.responseText;
document.write(result);

在IE下运行正常但是在火狐谷歌等浏览器中,无任何显示
调用是这位哥<SCRIPT language="javascript">XmlPost2('../downpage.asp?newsid=193');</SCRIPT>
---asp页面
<!-- #include file="inc/co.asp"-->
<%
WITH Response
.ContentType = "text/html"
.CharSet = "gb2312"
newsid=Request("newsid")'接收传来的行ID
if not isnumeric(newsid) or newsid="" or len(newsid) > 8 then newsid = 1 else newsid = clng(newsid)
'conn.execute("update news set Newshot=Newshot where NewsID="&newsid&"")
set rs=conn.execute("select * from news where newsid="&newsid&"")
News_Class_Id= rs("News_Class_Id")
set upage = conn.execute("select * from news where NewsID<" & newsid &" and News_Class_Id=" & News_Class_Id & " order by newsid desc")
if not (upage.eof or upage.bof) then
Response.Write( "<a href="""&upage(1)&".html"">"&upage(1)&" </a> ")
end if
upage.close : set upage = nothing
END WITH
conn.close:set conn=nothing
%>

参考技术A var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
if(xmlHttp==null)
    xmlHttp=new XMLHttpRequest();

参考技术B   尊敬的用户,您好!很高兴为您答疑
  你这遇到的应该是js同步异步的问题,你可以尝试以下方式:
  var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
  var url = "目标地址/xml";
  var asyncDone = false;
  try
  xmlhttp.open("GET", url, true);
  xmlhttp.onreadystatechange = onReadyStateChange;
  xmlhttp.send(null);
  // loop so that the program from quiting
  while (!asyncDone)
  WScript.Sleep(100);
  
  WScript.Echo(xmlhttp.responseText);
   catch (e)
  WScript.Echo(e);
  
  function onReadyStateChange()
  WScript.Echo("readyState: " + xmlhttp.readyState);
  if (xmlhttp.readyState == 4)
  asyncDone = true;
  
  
此模式下,只有不关闭浏览器,就会同步获取到您所请求的资源。
  希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
参考技术C 我也遇到同样的问题 谷歌也同样不能用追问

不知道怎么弄啊!
在火狐里面里面用

这样可以显示。但是加上sqL语句就不行显示的就是中document.write("aaa")"

追答

try
xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
catch (e)
try
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
catch (e)
xmlHttpRequest = new XMLHttpRequest();


我是这样解决在火狐谷歌不能异步调用问题的

追问

function XmlPost2(webFileUrl)

var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); //这里改成你上面的那样吗?但是我改了后在IE上面都没得显示.

出来了,我没看清楚你发的定义的名字和我的不一样.3Q了.呵呵.我找这个弄了2天了之前也是找到过类是你这个TRY的方法但是都不行.

本回答被提问者采纳

以上是关于var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); 火狐不兼容问题HTML调用ASP实现和数据库同步的主要内容,如果未能解决你的问题,请参考以下文章

xml javascript

用JS实现Ajax请求

JS GET POST请求

纯js调用webservice接口怎么调用

ajax学习记录

javascript下载文件