Apollo获取GraphQL请求

Apollo获取GraphQL请求,graphql,apollo,react-apollo,graphql-js,Graphql,Apollo,React Apollo,Graphql Js,我是GraphQL新手,我正在努力从前端的API获取数据 我正在使用apollo fetch构建查询并发出请求,这是 const fetch = createApolloFetch({ uri: `${BASE_API_URL}/graphql`, }); fetch({ query: `{ transactions(limit: 3) { tid terminalNo issuerId } }`, }).then(res =>

我是GraphQL新手,我正在努力从前端的API获取数据

我正在使用apollo fetch构建查询并发出请求,这是

const fetch = createApolloFetch({
  uri: `${BASE_API_URL}/graphql`,
});
fetch({
  query: `{
    transactions(limit: 3) {
      tid
      terminalNo
      issuerId
    }
  }`,
}).then(res => {
  console.log('res', res);
}).catch(err => console.log(err));
我收到此错误:
“语法错误:应为名称,找到字符串“query”“

奇怪的是,使用Postman,通过几乎相同的查询,我收到了正确的数据

这是我对邮递员的查询

query {
  transactions(limit: 3) {
   tid
   terminalNo
   issuerId
 }
}

我做错了什么?我尝试了查询的一些变体,但结果是相同的。

您的查询字符串没有关键字query,并且还有一个附加的括号。应该是这样的

fetch({
  query: `
   query transactions {
     transactions(limit: 3) {
      tid
      terminalNo
      issuerId
     }
    }
`,
})

您的查询字符串没有关键字query,并且还有一个附加的括号。应该是这样的

fetch({
  query: `
   query transactions {
     transactions(limit: 3) {
      tid
      terminalNo
      issuerId
     }
    }
`,
})

我找到的解决方案是使用纯javascript,但还不确定apollo fetch为什么会出错

fetch(`${BASE_API_URL}/graphql`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: `query {
    transactions(limit: 3, offset: 0) {
      tid
      terminalNo
      issuerId
    } 
  }`,
})
.then(res => res.json())
.then(res => (
  this.setState({ transactions: res.data.transactions })
))
.catch(error => console.log('error', error));

希望它能帮助有同样问题的人。

我找到的解决方案是使用纯javascript,但不确定apollo fetch为什么会出现错误

fetch(`${BASE_API_URL}/graphql`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: `query {
    transactions(limit: 3, offset: 0) {
      tid
      terminalNo
      issuerId
    } 
  }`,
})
.then(res => res.json())
.then(res => (
  this.setState({ transactions: res.data.transactions })
))
.catch(error => console.log('error', error));

希望它能帮助有同样问题的人。

同样的结果。这是我第一次尝试。也不是逗号。我已经更正了答案。我的坏蛋没有注意到你的问题仍然是同样的问题同样的结果。这是我第一次尝试。也不是逗号。我已经更正了答案。我的坏蛋没有注意到你的问题,仍然是同样的问题