Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 JSON HTTP请求在Mac OSX上不起作用_Javascript_Html_Json_Macos_Xmlhttprequest - Fatal编程技术网

Javascript JSON HTTP请求在Mac OSX上不起作用

Javascript JSON HTTP请求在Mac OSX上不起作用,javascript,html,json,macos,xmlhttprequest,Javascript,Html,Json,Macos,Xmlhttprequest,我一直在使用JS文件中的HTTP请求从本地JSON文件检索信息。在Firefox和Chrome中,它在我的Windows计算机上运行得很好,但在Mac上运行时,Chrome调试器会抛出一个错误,指出跨源请求仅支持HTTP。。。 我的HTTP请求代码如下: var xhr = new XMLHttpRequest(); xhr.open("GET", "sample.json", true); xhr.onreadystatechange = function() { if (xhr.

我一直在使用JS文件中的HTTP请求从本地JSON文件检索信息。在Firefox和Chrome中,它在我的Windows计算机上运行得很好,但在Mac上运行时,Chrome调试器会抛出一个错误,指出
跨源请求仅支持HTTP
。。。 我的HTTP请求代码如下:

var xhr = new XMLHttpRequest();

xhr.open("GET", "sample.json", true);

xhr.onreadystatechange = function() {
    if (xhr.readyState === 4) {
        var status = xhr.status;

        if ((status >= 200 && status < 300) || status === 305) {
            var myData = JSON.parse(xhr.responseText);
            window.myData = myData;
            showAll(myData);
        }
    }
};

xhr.send(null);
var xhr=new-XMLHttpRequest();
open(“GET”、“sample.json”、true);
xhr.onreadystatechange=函数(){
if(xhr.readyState==4){
var status=xhr.status;
如果((状态>=200&&status<300)| |状态===305){
var myData=JSON.parse(xhr.responseText);
window.myData=myData;
showAll(myData);
}
}
};
xhr.send(空);

有什么想法吗?谢谢

是的,这是一个安全问题。您需要在服务器上运行此操作,并且此类请求不支持
文件://
协议!AJAX是一种合适的HTTP请求-响应类型的概念,您不能使用
文件://
协议或为事务使用不同的协议。

是的,这是一个安全问题。您需要在服务器上运行此操作,并且此类请求不支持
文件://
协议@刘-当然不是。如果没有HTTP,您无法发送HTTP头。“有什么想法吗?”-安装一个HTTP服务器。@Quentin我的错,读得太快了好吧,但为什么我们都使用Chrome时它在Windows上工作得很好?您使用的浏览器可能很旧。稳定频道上新版本的Chrome和Firefox对此类COR非常严格。Mac上有100个免费HTTP服务器。使用MAMP、AMPPS、XAMPP等。这可能是因为在Windows上,我使用NetBeans在服务器上运行项目,而在Mac上,我们只是将HTML文件直接拖到浏览器上?好了!对默认情况下,NetBeans在ApacheHTTPD服务器或TomCat服务器上运行<代码>:D