尝试发出GraphQL请求时,我会收到以下error。
我在端口3002上运行快速服务器。我还在快速服务器上使用" / graphql"运行express-graphql。端点。
我正在使用来自反应应用程序的apollo-client。
我在快速代码中尝试了以下内容
app.use(cors())
但是我仍然在客户端上收到同样的错误
如何解决此CORS问题?
答案 0 :(得分:1)
在node.js上的ExpressJS应用中,对您的路线执行以下操作:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.get('/', function(req, res, next) {
// Handle the get for this route
});
app.post('/', function(req, res, next) {
// Handle the post for this route
});
答案 1 :(得分:0)
在使用graphQL之前,请确保app.use(cors())已出现。
快递代码
const express = require( `express` );
const graphqlHTTP = require( `express-graphql` );
const cors = require( `cors` );
const app = express();
app.use( cors() );
app.use(
`/graphql`,
graphqlHTTP( {
schema: schema, // point to your schema
rootValue: rootResolver, // point to your resolver
graphiql: true
} )
);
的示例
fetch( url, {
method : `post`,
headers: {
'Content-Type': `application/json`,
'Accept' : `application/json`
},
body: JSON.stringify( {
query: `
{
person {
name
}
}`
} )
} )
.then( response => response.json() )
.then( response => console.log( response ) );