Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问控制不允许原点为null允许原点使用非本地文件_Javascript_Html_Ajax - Fatal编程技术网

Javascript 访问控制不允许原点为null允许原点使用非本地文件

Javascript 访问控制不允许原点为null允许原点使用非本地文件,javascript,html,ajax,Javascript,Html,Ajax,我有下面的脚本,我只想做一件事。调用url并检查http.status是否返回。我一直得到“访问控制不允许原点为null允许原点”错误。我在StackOverflow上看到了一些与本地文件系统有关的东西,但是,我称之为http URL。谁知道我为什么会犯这个错误。我用的是Chrome。提前感谢您的帮助 <html> <head> <script type="text/javascript"> function checkHet(invoer) { if (wi

我有下面的脚本,我只想做一件事。调用url并检查http.status是否返回。我一直得到“访问控制不允许原点为null允许原点”错误。我在StackOverflow上看到了一些与本地文件系统有关的东西,但是,我称之为http URL。谁知道我为什么会犯这个错误。我用的是Chrome。提前感谢您的帮助

<html>
<head>
<script type="text/javascript">
function checkHet(invoer)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.write("Klopt als een bus!");
}
else
{
document.write("Klopt <b>niet</b> als een bus!");
}
}
xmlhttp.open("GET", invoer, true );
xmlhttp.send();  
}           
</script>
</head>
<body>
<form>
<input type="text" name="adres" value="http://www.">
<input type="button" value="Check" onClick="checkHet(form.adres.value)">
</form>
</body>
</html>

功能检查(发票人)
{
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
写下(“Klopt als een bus!”);
}
其他的
{
写下(“Klopt niet alseen bus!”);
}
}
open(“GET”,invoier,true);
xmlhttp.send();
}           

因为出于安全目的,不允许在其他域(包括本地文件系统)中使用AJAX。这是在行动中的关键

但是也有例外,特别是如果目标域允许
  • Javascript不应访问本地文件。因为若javascript可以访问本地文件,javascript可能会窃取客户端计算机上的文件
  • 通常,当脚本试图访问本地文件时,浏览器会弹出一个安全对话框,询问用户是否允许脚本继续

  • 感谢您的回复Joseph,但是,如果我正确理解维基百科页面,我的浏览器(Chrome,最新版本)应该支持CORS。我怎么会出错?@RudyNijholt它要求服务器配置为接受CORS。并不是所有的服务器都配置为这样做,如果有的话,它们是安全的,并且配置为面对残酷的第三方请求。谢谢。有没有其他方法可以构建一个简单的脚本来检查网站是否正常运行?(如果我得到一个200 http状态,或者其他任何东西),除了在那里冲浪以外:)@RudyNijholt一个web服务器脚本可以帮你检查。请求您的服务器(通过AJAX)对目标服务器执行wget或curl。不过,谢谢您的帮助,但就我在线所见,如果没有服务器端脚本,这是不可能的,我可以这样做,但我不喜欢这样做。