如何转换获取请求与突变的graphql查询?



我从浏览器控制台获得了这个取回请求

fetch("redacted", {
"headers": {
"accept": "*/*",
"accept-language": "en-US,en;q=0.9,ml;q=0.8",
"content-type": "application/json",
"sec-ch-ua": ""Chromium";v="88", "Google Chrome";v="88", ";Not A Brand";v="99"",
"sec-ch-ua-mobile": "?0",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site",
"x-access-token": "redacted",
"x-language": "en",
"x-lockdown-token": "undefined"
},
"referrer": "redacted",
"referrerPolicy": "strict-origin-when-cross-origin",
"body": "{"operationName":"DiceRoll","variables":{"target":50.5,"condition":"above","identifier":"9a268cd34509814f4d2e","amount":1e-8,"currency":"doge"},"query":"mutation DiceRoll($amount: Float!, $target: Float!, $condition: CasinoGameDiceConditionEnum!, $currency: CurrencyEnum!, $identifier: String!) {\n  diceRoll(amount: $amount, target: $target, condition: $condition, currency: $currency, identifier: $identifier) {\n    ...CasinoBetFragment\n    state {\n      ...DiceStateFragment\n      __typename\n    }\n    __typename\n  }\n}\n\nfragment CasinoBetFragment on CasinoBet {\n  id\n  active\n  payoutMultiplier\n  amountMultiplier\n  amount\n  payout\n  updatedAt\n  currency\n  game\n  user {\n    id\n    name\n    __typename\n  }\n  __typename\n}\n\nfragment DiceStateFragment on CasinoGameDice {\n  result\n  target\n  condition\n  __typename\n}\n"}",
"method": "POST",
"mode": "cors",
"credentials": "omit"
});

我想让这个请求在一个javascript。到目前为止,我得到了

fetch("redacted", {
method: "POST",
headers: {
"content-type": "application/json",
"x-access-token": "redacted",
},
"body": JSON.stringify({
operationName:"DiceRoll",
variables:{
target:50.5,
condition:"above",
identifier:"5997586b28731dbdcd53",
amount:1e-8,
currency:"doge"
},
query:` mutation DiceRoll($amount: Float!, $target: Float!, $condition:CasinoGameDiceConditionEnum!, $currency: CurrencyEnum!, $identifier: String!) {\ndiceRoll(amount: $amount, target: $target, condition: $condition, currency: $currency, identifier:$identifier) {\n    ...CasinoBetFragment\n    state {\n      ...DiceStateFragment\n __typename\n    }\n    __typename\n  }\n}\n\nfragment CasinoBetFragment on CasinoBet {\n  id\nactive\n  payoutMultiplier\n  amountMultiplier\n  amount\n  payout\n  updatedAt\n  currency\ngame\n  user {\n    id\n    name\n    __typename\n  }\n  __typename\n}\n\nfragment DiceStateFragment on CasinoGameDice {\n  result\n  target\n  condition\n  __typename\n}\n}`
})
});

但是它抛出一个错误

未知查询"mutationDiceRoll"(548654)","errorType"graphqlError"

如何使用fetch发送变异的查询。或者,如果可能的话,我可以在jQuery上做这个吗?

figure it out

jQuery.ajax({
url:weburl,
method: "POST",
headers: {
"content-type": "application/json",
"x-access-token": token
},
data: JSON.stringify({
'operationName':"DiceRoll",
'variables':{
'target':chance,
'condition':direction,
'identifier':Math.random().toString(36).substr(2, 10),
'amount':bet,
'currency':coin
},
'query': 'mutation DiceRoll($amount: Float!, $target: Float!, $condition: CasinoGameDiceConditionEnum!, $currency: CurrencyEnum!, $identifier: String!) {x0a  diceRoll(amount: $amount, target: $target, condition: $condition, currency: $currency, identifier: $identifier) {x0a    ...CasinoBetFragmentx0a    state {x0a      ...DiceStateFragmentx0a      __typenamex0a    }x0a    __typenamex0a  }x0a}x0ax0afragment CasinoBetFragment on CasinoBet {x0a  idx0a  activex0a  payoutMultiplierx0a  amountMultiplierx0a  amountx0a  payoutx0a  updatedAtx0a  currencyx0a  gamex0a  user {x0a    idx0a    namex0a    __typenamex0a  }x0a  __typenamex0a}x0ax0afragment DiceStateFragment on CasinoGameDice {x0a  resultx0a  targetx0a  conditionx0a  __typenamex0a}x0a'    
}),
success: function(data) {}})

最新更新