2012-03-20 50 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