Reactjs 否';访问控制允许原点';请求的资源上存在标头。原产地';http://localhost:8080' 因此不允许访问
我从React JS调用Drupal API,并得到以下错误:Reactjs 否';访问控制允许原点';请求的资源上存在标头。原产地';http://localhost:8080' 因此不允许访问,reactjs,cors,webpack-dev-server,drupal-8,Reactjs,Cors,Webpack Dev Server,Drupal 8,我从React JS调用Drupal API,并得到以下错误: Failed to load http://l-and-d.dd:8083/node?_format=json: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://loc
Failed to load http://l-and-d.dd:8083/node?_format=json: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
我已经允许我的Drupal服务器上的所有请求,但仍然会出现此错误。
我认为错误在客户端。
我还在webpack.config.js文件中添加了标题
这是webpack.config.js文件
const path = require('path')
module.exports = {
entry: './src/app.js',
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js'
},
module: {
rules: [{
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
}, {
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
'sass-loader'
]
},
{
test: /\.(eot|svg|woff|woff2|ttf|png|svg|jpg|jpeg|bmp|gif|pdf)$/,
use: [
'file-loader'
]}
]
},
devtool: 'cheap-module-eval-source-map',
devServer: {
contentBase: path.join(__dirname, 'public'),
historyApiFallback: true,
headers: {
'Access-Control-Allow-Origin' : '*'
}
}
}
我也尝试过在我的代码中添加自定义标题,但也没有成功,
以下是API调用代码:
axios({
method: 'POST',
url: 'http://l-and-d.dd:8083/node?_format=json',
data: node,
headers: {'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': '*',
'Access-Control-Expose-Headers':'*',
'Content-Type':'application/json',
'Accept':'application/json',
'X-Custom-Header': '*' }
}).then((res) => {
console.log(res)
}).catch((err) => {
console.log(err)
})
这是因为您的文件位于不同的端口,而您的reactjs运行在不同的端口。一旦应用程序部署在相同的环境中,或者如果您现在需要解决此问题,您可以在浏览器中添加此扩展名。这是因为您的文件位于不同的端口,而您的reactjs运行在不同的端口不同端口此问题将在应用程序部署到同一环境中后自动解决,或者如果您现在需要修复此问题,您可以在浏览器中添加此扩展尝试为drupal安装CORS模块,并将CORS模块中的值设置为“*” 尝试为drupal安装CORS模块,并将CORS模块中的值设置为“*” 是的,我的Drupal正在8083端口上运行,并在8080上做出反应。是否有任何方法可以在不添加扩展的情况下在生产中解决此错误,是否有一些方法可以操作端口?是的,我告诉过您,此问题将在生产中自动解决,因为在生产中,两者将位于同一端口抱歉,我错误地编写了生产,我的意思是,有没有办法在开发中解决这个问题而不添加扩展。谢谢没有扩展我不确定是的,我的Drupal正在8083端口上运行,并在8080上做出反应。是否有任何方法可以在不添加扩展的情况下在生产中解决此错误,是否有一些方法可以操作端口?是的,我告诉过您,此问题将在生产中自动解决,因为在生产中,两者将位于同一端口抱歉,我错误地编写了生产,我的意思是,有没有办法在开发中解决这个问题而不添加扩展。谢谢没有扩展我不确定我已经安装了模块并配置了*我已经安装了模块并配置了*