组件返回失败代码:0x805e0006错误

时间:2012-03-20 17:43:56

标签: jquery ajax get

以下JQuery get调用:

var doc_root = document.location.hostname + ":8082";
var fw_script = doc_root + "/sites/MyScripts/fw2.php";
var langpref = "EN";

var ttype = "BEGIN";
var vvalue = $("#inp_begin").val();

$.get(fw_script, { type: ttype, value: vvalue, langpref: langpref })
    .success(function(result) {
        $(fw_result).text(result);
        alert("Success");
    })
    .error(function(jqXHR, textStatus, errorThrown) {
        $(fw_result).text("Error: " + textStatus + " " + errorThrown);
        alert("Failure");
    });

正在生成以下错误消息(.error被调用):

Error: error [Exception... "Component returned failure code: 0x805e0006
[nsIXMLHttpRequest.open]" nsresult: "0x805e0006 (<unknown>)" location: "JS frame ::
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
:: <TOP_LEVEL> :: line 4" data: no]

我不知道这条消息是什么,我用谷歌搜索找不到多少解释。任何人都可以澄清吗?

更新

被调用的URL在Javascript中构造如下:

var doc_root = document.location.hostname + ":8082";
var fw_script = doc_root + "/sites/MyScripts/fw2.php";

fw_script的值是:

fw.localhost:8082/sites/MyScripts/fw2.php

调用
fw.localhost:8082/en

当我在浏览器中尝试fw.localhost:8082/sites/MyScripts/fw2.php时,它就会成功。

2 个答案:

答案 0 :(得分:9)

您很可能正在处理跨域请求错误。根据{{​​3}},您不能向具有不同端口号的主机发出AJAX请求,即使它是相同的域。根据此定义,您似乎将doc_root设置为其他来源,因此您可能会在AJAX请求中收到错误。

解决此问题的标准选项:

  • 从您提出请求的同一主机提供数据。

  • 使用JSONP代替JSON。

答案 1 :(得分:1)

只是提请注意@nrabinowitz和其他评论者所做的调查:检查您的广告拦截器/隐私插件。就我而言,Privacy Badger开始阻止localhost