Javascript Apollo客户端发送选项而不是获取HTTP方法
我很难理解Apollo客户端库,因为它不能按预期工作。它不发送Javascript Apollo客户端发送选项而不是获取HTTP方法,javascript,meteor,graphql,apollo-client,Javascript,Meteor,Graphql,Apollo Client,我很难理解Apollo客户端库,因为它不能按预期工作。它不发送GETHTTP方法,而是发送选项HTTP方法,即使我只在从GraphQL服务器检索数据时才使用GET const client = new ApolloClient({ link: ApolloLink.from([ new MeteorAccountsLink(), new HttpLink({ uri: 'https://selo-comments.herokuapp
GET
HTTP方法,而是发送选项
HTTP方法,即使我只在从GraphQL服务器检索数据时才使用GET
const client = new ApolloClient({
link: ApolloLink.from([
new MeteorAccountsLink(),
new HttpLink({
uri: 'https://selo-comments.herokuapp.com/graphql',
useGETForQueries: true
})
]),
cache: new InMemoryCache()
});
来自浏览器的控制台日志:
选择权https://selo-comments.herokuapp.com/graphql?query=%7B%0A%20%20comments(id%3A%20%22TFPQMHRDXQHK2RYY%22)%20%7B%0A%20%20%20%20%20A%20%20%20%20A%20%20%20%20userId%0A%20%20%20%20createdAt%0A%20%20%20%20commentID%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20分块用户%0A%20%20%20%20%20%20%20\7B%0A%20%7D%(方法不允许)
这显然意味着HTTP方法是不正确的,即使它在url中有查询参数。如果您使用邮递员查询该url,或者只是使用浏览器的地址栏导航到该url,您将获得GraphQL数据。我必须使用https://cors-anywhere.herokuapp.com/
以便成功执行查询
我做错了什么?选项请求可能是针对的 CORS飞行前请求是检查CORS协议是否被理解的CORS请求。 它是一个选项请求,使用三个HTTP请求头:访问控制请求方法、访问控制请求头和原始头 您可能需要将服务器配置为允许跨源呼叫
也许你可以从这里找到一些灵感来开始。哇,这实际上解决了问题哈哈。我甚至没有意识到这一点,谢谢!我已经在服务器上安装了CORS模块,但它仍然让我在客户端感到头疼,但再次感谢。