【发布时间】:2018-07-23 16:12:59
【问题描述】:
我正在使用节点、表达和反应来创建一个登录门户。我为前端创建了一个 app.js 文件和 signin.js 文件。 signin.js 包含以下几行(不是整个代码):
onSubmitSignIn = () => {
fetch("http://localhost:3001/signin", {
method : 'post',
headers : {'Content-Type': 'application/json'},
body : JSON.stringify({
email : this.state.signInEmail,
password : this.state.signInPassword
})
})
.then(res => res.json())
.then(data => {
if (data === "Success!!"){
console.log(data);
}
})
this.props.onRouteChange("home");
}
上面的代码打印成功!!在控制台中.. onRouteChange 将主页值传递给 app.js 中加载主页的函数。 但是,当我删除 console.log(data) 并将 this.props.onRouteChange("home") 放在它的位置时,我收到以下错误:
跨域请求被阻止:同源策略不允许读取位于http://localhost:3001/signin 的远程资源。 (原因:CORS 请求未成功)。
这种交换的原因是如果用户凭据正确并且快速服务器返回响应“Success!!”,我可以将用户重定向到主页。 请帮忙。我已经在 server.js 中包含了以下行:
app.use(cors());
我没有发布整个代码,因为它太大了..
【问题讨论】:
-
尝试在 ./signin 处将以下标头添加到您的响应中
-
“我没有发布整个代码,因为它太大了”——你需要提供一个minimal reproducible example。
标签: javascript node.js reactjs express