尝试发出 GraphQL 请求时,出现以下错误。
我在端口 3002 上运行 express 服务器。我还在 express 服务器上使用“/graphql”端点运行 express-graphql。
我正在使用 react 应用程序中的 apollo-client。
我在我的快速代码中尝试了以下内容
app.use(cors())
但是我仍然在客户端上遇到同样的错误
如何解决此 CORS 问题?
尝试发出 GraphQL 请求时,出现以下错误。
我在端口 3002 上运行 express 服务器。我还在 express 服务器上使用“/graphql”端点运行 express-graphql。
我正在使用 react 应用程序中的 apollo-client。
我在我的快速代码中尝试了以下内容
app.use(cors())
但是我仍然在客户端上遇到同样的错误
如何解决此 CORS 问题?
在 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
});
Make sure app.use(cors()) comes before you use graphQL.
Express code
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 example based on GraphQL Documentation
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 ) );