以下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
时,它就会成功。
答案 0 :(得分:9)
您很可能正在处理跨域请求错误。根据{{3}},您不能向具有不同端口号的主机发出AJAX请求,即使它是相同的域。根据此定义,您似乎将doc_root
设置为其他来源,因此您可能会在AJAX请求中收到错误。
解决此问题的标准选项:
从您提出请求的同一主机提供数据。
使用JSONP代替JSON。
答案 1 :(得分:1)
只是提请注意@nrabinowitz和其他评论者所做的调查:检查您的广告拦截器/隐私插件。就我而言,Privacy Badger开始阻止localhost
。