【问题标题】:ajax problems? with activexobjects阿贾克斯问题?使用 activexobjects
【发布时间】:2009-04-20 13:18:55
【问题描述】:

我不断收到以下错误:

未捕获的异常:[Exception...“组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]” nsresult:“0x80004005 (NS_ERROR_FAILURE)”位置:“JS 框架 :: http://site/cms/js/interface.js :: doAjaxCall ::第 300 行”数据:无]

 

未捕获的异常:[Exception...“组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]” nsresult:“0x80004005 (NS_ERROR_FAILURE)”位置:“JS 框架 :: http://site/cms/js/interface.js :: doAjaxCall ::第 300 行”数据:无]

第 0 行

这是带有 doAjaxCall 的函数

function doAjaxCall(cmd,params) {
  var postdata='cmd='+cmd+'&params='+params;

  var a=sajax_init_object();
  if (a) {
    a.open("POST","ajax_handler.php", false);
    a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    a.send(postdata);                      <====Line 300
      document.body.style.cursor="default";

    if(a.readyState == 4) {
      return a.responseText;
    } else {
      alert("We where unable to execute the ajax call.");
    }
  }

function sajax_init_object() {
    var A;
    try {
        A=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            A=new ActiveXObject("Microsoft.XMLHTTP");
        } catch (oc) {
            A=null;
        }
    }
    if(!A && typeof XMLHttpRequest != "undefined")
        A=new XMLHttpRequest();
    if (!A)
        alert("Could not create connection object.");
    return A;
}

有什么想法吗?

【问题讨论】:

  • 这是否超出了您的域?您使用的是相对网址还是绝对网址?

标签: php ajax activex


【解决方案1】:

由于 Javascript 的安全限制,无法通过 XMLHttpRequest 从远程域检索信息。 我想你需要一个代理!

【讨论】:

  • 代码使用相对URI。远程域是从哪里来的?
  • 但是,如果您可以控制其他域上的内容,则可以使用安全标头 Access-Control-Allow-Origin: * * = 通配符从您的站点允许对其进行 AJAX 调用,并且您可以提供逗号列表域 E.G *.facebook.com,facebook.com
【解决方案2】:

这是由于 MIME 类型:application/x-www-form-urlencoded

它适用于某些浏览器。它不适用于基于 Gecko 的浏览器(例如 Firefox)

查看更多详情:http://ajaxpatterns.org/Talk:XMLHttpRequest_Call

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2018-07-04
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多