2012-03-20 51 views
3

以下的JQuery get电话:组件返回故障代码:0x805e0006错误

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] 

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

UPDATE

被叫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时,它很成功。

回答

9

看起来很有可能您正在处理跨域请求错误。根据Same Origin Policy,即使它是相同的域,也不能向具有不同端口号的主机发出AJAX请求。按照这个定义,它看起来像是将doc_root设置为不同的来源,所以您可能会在AJAX请求中看到错误。

固定这个标准选择:

  • 从你让从请求同一主机服务您的数据。

  • 使用JSONP而不是JSON。

+1

我检查了被调用的URL,但端口似乎没问题(如果我没有错过任何东西)。我用更多的信息更新了我的问题。 – JVerstry 2012-03-20 18:04:04

+16

快速Google似乎表明AdBlock FF扩展有时是此错误的来源。你的情况可能吗? – nrabinowitz 2012-03-20 18:24:44

+0

感谢您的反馈。你最初的建议是对的,在测试你的建议时,我没有正确地刷新我的系统。我的错。问题解决了。 – JVerstry 2012-03-20 18:27:44

1

只是为了呼吁人们关注的@nrabinowitz和其他批评家所做的侦探:检查您的广告拦截/隐私插件。就我而言,Privacy Badger开始阻止localhost

+0

我花了2个小时解决这个问题,是的,adBlock是问题..... – Bertie92 2015-10-26 13:31:43