Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 CORS在http服务器上失败_Javascript_Ajax_Cors - Fatal编程技术网

Javascript CORS在http服务器上失败

Javascript CORS在http服务器上失败,javascript,ajax,cors,Javascript,Ajax,Cors,我在开发一个javascript应用程序时使用了一个简单的http服务器,其中包含对外部API的多个ajax请求。我通过CLI使用“http服务器--cors”启动了服务器,但仍然出现“请求的资源上没有“访问控制允许源”头”错误。无论外部API是否需要用户密钥/飞行前,都会发生这种情况,例如: var url = "http://api.rgrta.com/"; $.ajax({ url: url, beforeSend: function(xhrObj){ xh

我在开发一个javascript应用程序时使用了一个简单的http服务器,其中包含对外部API的多个ajax请求。我通过CLI使用“http服务器--cors”启动了服务器,但仍然出现“请求的资源上没有“访问控制允许源”头”错误。无论外部API是否需要用户密钥/飞行前,都会发生这种情况,例如:

var url = "http://api.rgrta.com/";
$.ajax({
    url: url,
    beforeSend: function(xhrObj){
        xhrObj.setRequestHeader("api_key","d4f...3f5");
    },
    type: "GET",
    dataType: "json"
})
.done(function(jsonData) {
    console.log("*** ajax success ***");
    callbackFunc();

    function callbackFunc() {
        console.log("callbackFunc");
    }
});

我见过涉及express app.js配置的解决方案。node/express是正确定义请求头的唯一方法吗?在为启用CORS的API调用开发时,设置本地http服务器的最佳方法是什么?

这不是您提供的服务器端代码片段,而是在浏览器上运行的客户端代码,因此,如果目标API关闭了CORS,则会发生跨源错误,这种情况下的解决方案是使用代理


此外,在简单http服务器上启用cors意味着您允许其他人在其他地方访问您的网站内容。

这不是您提供的服务器端代码片段,而是在浏览器上运行的客户端代码,因此,如果目标api关闭了cors,则会发生跨源错误,这种情况下的解决方案是使用代理


此外,在简单http服务器上启用cors意味着您允许其他人访问您的网站内容。

在开发过程中,您可能希望使用允许轻松启用和禁用cors的浏览器扩展,例如Chrome的此扩展:

在开发过程中,您可能希望使用允许轻松启用和禁用CORS的浏览器扩展,例如Chrome的浏览器扩展:

这不是一个合适的SO答案,而是对外部工具的建议。这不是一个合适的SO答案,而是对外部工具的建议。