0

我从 axios thunk 收到以下错误:

ExceptionsManager.js:82 messed up in createMeeting:  Error: Request failed with status code 400
    at createError (createError.js:16)
    at settle (settle.js:17)
    at XMLHttpRequest.handleLoad (xhr.js:59)
    at XMLHttpRequest.dispatchEvent (event-target.js:172)
    at XMLHttpRequest.setReadyState (XMLHttpRequest.js:572)
    at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:394)
    at XMLHttpRequest.js:507
    at RCTDeviceEventEmitter.emit (EventEmitter.js:189)
    at MessageQueue.__callFunction (MessageQueue.js:366)
    at MessageQueue.js:106

问题在于我的 axios 请求而不是我的 graphql 架构,因为我能够使用(我的 ngrok url)/graphiql 以及 localhost/graphql 来完成这个突变。我的查询对于 axios 或其他东西来说太长了吗?我已经控制台记录了我输入的所有信息,并且格式正确,但同样,这些信息甚至没有发送到我的服务器。此外, data.data.newMeeting 看起来很奇怪,但那部分实际上是正确的。这是我的想法:

export const createMeeting = (chatId, userId, invitation) => {
  return async dispatch => {
    try {
      const dateString = invitation.date.toDateString()
     let {data} = await axios({
            url: `${url}/graphql`,
            method: 'POST',
            data: {
              query: `mutation{
                newMeeting(chatId:${chatId}, 
                           userId:${userId}, 
                            latitude:${invitation.coords[0]},
                           longitude:${invitation.coords[1]},
                           name:"${invitation.name}",
                           rating:${invitation.rating},
                            address:"${invitation.address}",
                            date:"${dateString}"){
                               location
                                 name
                                rating
                                date
                               senderId
                               chatId
                }
             }`
            }
          })
      dispatch(setCurrentMeeting(data.data.newMeeting))
      clearInvitation()
    } catch (error) {
      console.error('messed up in createMeeting: ', error)
    }
  }
}
4

0 回答 0