Javascript 无法从URL获取响应
我在这个问题上花了好几个小时,我的同事们帮不了我。他说这可能是一个跨站点脚本问题,可能是我的系统设置导致了这个问题,因为脚本在我同事的机器上运行良好 下面是一个简单的例子:Javascript 无法从URL获取响应,javascript,url,xmlhttprequest,request,Javascript,Url,Xmlhttprequest,Request,我在这个问题上花了好几个小时,我的同事们帮不了我。他说这可能是一个跨站点脚本问题,可能是我的系统设置导致了这个问题,因为脚本在我同事的机器上运行良好 下面是一个简单的例子: <!DOCTYPE html> <html> <head> <script type="text/javascript"> var req = new XMLHttpRequest(); var url = "http://www.javascriptkit.com/dhtml
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var req = new XMLHttpRequest();
var url = "http://www.javascriptkit.com/dhtmltutors/javascriptkit.json";
req.open("GET", url, false);
try {
req.send();
} catch (e) {
alert("ERROR: " + e);
}
</script>
</head>
<body>
</body>
</html>
var req=新的XMLHttpRequest();
变量url=”http://www.javascriptkit.com/dhtmltutors/javascriptkit.json";
请求打开(“GET”、url、false);
试一试{
请求发送();
}捕获(e){
警报(“错误:+e”);
}
执行代码时,将显示一个错误:
ERROR: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://firebug/content/console/commandLineExposed.js :: <TOP_LEVEL> :: line 156" data: no]
ERROR:[异常…”组件返回的故障代码:0x80004005(NS_错误)”nsresult:“0x80004005(NS_错误)”位置:“JS帧::chrome://firebug/content/console/commandLineExposed.js 第156行“数据:否]
我在本地主机、firebug控制台和JSFIDLE上运行了这段代码,但它们都不工作
我确信我的本地服务器运行良好,因为测试脚本alert(“works”)
正在运行
任何人都可以帮我。这是系统设置问题吗?谢谢 我相信你不能打这样的跨域电话
XMLHttpRequest
到其他域?除非他们在响应中设置标题Access Control Allow Origin
,否则您将无法获得它。无论如何,在Opera(至少是11.64版)中,你将无法获得它
我认为您同事的计算机配置不安全。XMLHttpRequest受浏览器的同源策略的约束,因为出于安全原因,只有向为原始网页提供服务的同一服务器发出请求时,请求才会成功。您可以使用代理检索外部内容 如上所示:。在这里,他们从PHP页面发出外部请求,并在javascript函数调用中使用它
这里是指向演示页面主页的链接:在
HTTP
的正文中指定null
,>req.send(null)代码>这是干什么用的?与req.send()
不同?我不太明白,谢谢。我第一次使用XMLHttpRequest,没有意识到这个限制。我发现有人可以像我的同事一样访问服务器,现在我可以得到我想要的数据了。谢谢