Javascript 跨源请求被阻止(原因:CORS头和访问控制允许源和不匹配);http://localhost:3000/’)
我最近试图了解CORS是如何工作的,所以我设置了2台本地服务器 检查我是否可以在它们之间交叉发送数据 localhost:3000如下所示:Javascript 跨源请求被阻止(原因:CORS头和访问控制允许源和不匹配);http://localhost:3000/’),javascript,node.js,json,express,cors,Javascript,Node.js,Json,Express,Cors,我最近试图了解CORS是如何工作的,所以我设置了2台本地服务器 检查我是否可以在它们之间交叉发送数据 localhost:3000如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick="others()">get Others data</button>
<script>
function others(){
fetch('http://localhost:3100/',{
method: "POST",
headers: {'Access-Control-Allow-Origin':'http://localhost:3000/'},
body: JSON.stringify({stat:'good'})
})
.then(function(res){ return res.json(); })
.then(function(data){ console.log(JSON.stringify( data ) ) })
}
</script>
</body>
</html>
它的index.html如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick="others()">get Others data</button>
<script>
function others(){
fetch('http://localhost:3100/',{
method: "POST",
headers: {'Access-Control-Allow-Origin':'http://localhost:3000/'},
body: JSON.stringify({stat:'good'})
})
.then(function(res){ return res.json(); })
.then(function(data){ console.log(JSON.stringify( data ) ) })
}
</script>
</body>
</html>
但是,当我同时运行这两台服务器并从localhost:3000获取时,会显示以下错误:
我对此有点陌生。有人能解释一下我做错了什么吗?删除原点末尾的/
因为http://localhost:3000
和http://localhost:3000/
访问文件时,尾随斜杠将始终查找索引
文件
因此,与此相反:
app.use(cors({
origin: 'http://localhost:3000/'
}));
使用以下命令:
app.use(cors({
origin: 'http://localhost:3000'
}));
删除原点末端的/
因为http://localhost:3000
和http://localhost:3000/
访问文件时,尾随斜杠将始终查找索引
文件
因此,与此相反:
app.use(cors({
origin: 'http://localhost:3000/'
}));
使用以下命令:
app.use(cors({
origin: 'http://localhost:3000'
}));
另外,您可能需要添加
http://127.0.0.1:3000
因为如果您的服务器正在设置cookies,那么http://localhost:3000 不等于
``天哪,就这么简单?非常感谢您,您可能需要添加http://127.0.0.1:3000
因为如果您的服务器正在设置cookies,那么http://localhost:3000 不等于
``天哪,就这么简单?非常感谢你