XMLHttpRequest().Open 在 Firefox 中不是函数,但在 Chrome 中有效
Posted
技术标签:
【中文标题】XMLHttpRequest().Open 在 Firefox 中不是函数,但在 Chrome 中有效【英文标题】:XMLHttpRequest().Open is not a function in Firefox, but it works in Chrome 【发布时间】:2016-04-15 12:51:28 【问题描述】:我有下面的函数,但是当我尝试在 Firefox 中运行它时,我收到错误“xmlhttp.Open 不是函数”。但是,这在 Google Chrome 中不会发生
我是否遗漏了一些从 ActiveXObject 转换的代码? PAGE 参数已设置并适用于 Internet Explorer 中的 ActiveXObject
function broker(PAGE, PARAMARR, STARTPARAM)
var postdata = getPostData();
var ua = navigator.userAgent;
var msie = ua.indexOf('MSIE ');
//var xmlhttp =null;
if (msie != -1)
xmlhttp = new ActiveXObject('MSXML2.XMLHTTP');
xmlhttp.Open('POST', PAGE, false);
xmlhttp.setRequestHeader(
'Content-Type',
'application/x-www-form-urlencoded; charset=UTF-8'
);
else
xmlhttp = new XMLHttpRequest();
xmlhttp.Open('POST', PAGE, false);
xmlhttp.setRequestHeader(
'Content-Type',
'application/x-www-form-urlencoded; charset=UTF-8'
);
var paramno, param;
for (paramno = STARTPARAM; paramno < PARAMARR.length; paramno++)
param = PARAMARR[paramno];
if (param == void 0) param = '';
if (param === true) param = -1;
if (param === false) param = 0;
postdata = postdata + '&Parameter=' + encodeURIComponent(param);
xmlhttp.setRequestHeader('Content-Length', postdata.length);
xmlhttp.send(postdata);
var response = new String(xmlhttp.responseText);
var brkmsg = getMessage(response);
return brkmsg;
Chrome:Netscape mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/47.0.2526.106 safari/537.36
Firefox: Netscape mozilla/5.0 (windows nt 6.1; wow64; rv:43.0) gecko/20100101 firefox/43.0
IE11:Netscape mozilla/5.0(windows nt 6.1;wow64;trident/7.0;slcc2;.net clr 2.0.50727;.net clr 3.5.30729;.net clr 3.0.30729;媒体中心 pc 6.0;.net4 .0c; .net4.0e; infopath.3; rv:11.0) 像壁虎)
IE8(兼容模式):Mozilla/4.0(兼容;MSIE 7.0;Windows NT 5.2;WOW64;Trident/4.0;.NET CLR 3.0.4506.2152;.NET CLR 2.0.50727;.NET CLR 3.5.30729;. NET4.0C;.NET4.0E;InfoPath.2)
【问题讨论】:
【参考方案1】:好像是笔误。用小写写“open”!
【讨论】:
以上是关于XMLHttpRequest().Open 在 Firefox 中不是函数,但在 Chrome 中有效的主要内容,如果未能解决你的问题,请参考以下文章
xmlHttpRequest.open 和 xmlHttp.open 有啥不同
为啥在xmlHttpRequest的open方法中使用参数true,却还是否异步啊?
为啥 xmlHttpRequest.Open 仅在我输入字符串时才起作用?
Cordova Async XMLHttpRequest().open 在 Android 中不起作用