我使用nodejs服务器、express框架和fetch库将请求发送到另一个位于不同域的服务器。对于我的一个endpoint,请考虑(localhost:8080/login),当用户单击登录按钮时,我正在呈现ejs文件,我正在向另一个域中的不同服务器(https://otherserver.com/login)发送获取请求。我无法发送此请求。我收到此错误:
飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。原点'http://localhost:8080因此不允许访问。响应的HTTP状态代码为404。如果不透明的响应满足您的需求,请将请求的模式设置为“no cors”,以获取禁用cors的资源。
我不知道如何处理这个问题。请建议一些可以解决这个问题的想法或链接。
我找到了我的问题的解决方案。我试图解释我所理解的,因为我是服务器端和 Web 开发的初学者。
这是我面临的问题:对于我的nodejs服务器中的一个endpoint,考虑(localhost:8080/login)当用户单击ejs文件中的登录按钮时,我正在呈现ejs文件,我正在向位于其他域中的不同服务器的API(https:other server . com/sign in)发送获取请求。我无法发送此请求。我遇到了cors问题。
发生Cors问题是因为呈现ejs文件的服务器域(我的nodejs服务器)和我在单击登录按钮后发出获取请求的另一个域(https:otherserver.com/signin)不同。
所以解决方案是:
我需要首先向同一域发出获取请求(我的nodejs服务器localhost:8080 / api/signin)。然后从这个服务器,我应该调用其他域的api(https:otherserver.com/signin)。通过这样做,我们不会遇到任何cors问题。因为客户端 ejs 文件正在请求呈现该文件的同一服务器。然后服务器绕过对另一台服务器的请求。
来自客户端javascript文件的代码/api/sign是本地nodejs服务器中的一个endpoint,您可以添加选项:
options ={
method : 'POST',
headers : {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
body : JSON.stringify({
email_address : emailId,
password : pwd
})
};
fetch("/api/signin",options)
.then(function(res) {
console.log(res);
}).catch(function(error) {
console.log(error);
});
来自本地节点js服务器端的代码:
express.use('/api/', function (req, res, next) {
var options = {
method : req.method,
headers :req.headers,
body : JSON.stringify(req.body)
};
fetch('https://otherserver.com'+req.path,options)
.then(response => {
return response.json();
}, error => { console.error(error)})
.then(function(json){
res.send(json);
})
.catch(function(error) {
res.send(error);
});
})
希望这对服务器开发初学者有所帮助。
我正在尝试将Laravel社交名流集成到我的项目中,我遇到了以下错误 在'访问XMLHttpRequesthttps://github.com/login/oauth/authorize?client_id=6b87b76a942a90caec24 问题是当我按使用 github 按钮登录时,出现上述错误 错误图片 科尔斯.php文件 am使用水果蛋糕/laravel-cors包 我哪里做错了?
无法加载XMLHttpRequesthttp://xxx.xxx.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。因此,不允许访问源“null”。响应的HTTP状态代码为500。 我试图用ajax发送一个xml肥皂,但给了我那个错误。我尝试了很多选项,但似乎都不起作用,这是代码: 我做错了什么?我发送了一个POST操作,但它将
我是AWS的新手,所以请耐心等待我:( 我目前正在制作一个具有上传照片功能的Web应用程序。我想将这些照片保存在S3存储桶中,并在我的数据库中保存对它们的引用。我目前正在遵循本指南:http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html 但是,我已经完成了指南中所述的一
我试着把数据从React.jslocalhostinsert.php文件。当我提交的形式从reactjs它给我错误的控制台错误是: 访问位于“”的XMLHttpRequesthttp://localhost/reactphpdemo/connect.php“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访
我犯了这个错误 无法加载XMLHttpRequesthttp://domain.com/canvas/include/rs-plugin/js/extensions/revolution.extension.video.min.js.飞行前响应中的访问控制允许标头不允许请求标头字段X-Requested-With。 我的php页面顶部有这两行代码,用于加载这个js文件。 但是问题依然存在,我该怎么