我正在嘗試使用GraphQL進行GitHub的API調用,我已經能夠使用靜態graphQL調用成功調用數據,但是我在將一個變量(var條目)放入我的調用中時遇到問題,以便可以更改基於用戶在Web應用程序中提供的輸入進行調用。如何發送帶有變量的GraphQL AJAX查詢?
我正在使用AJAX來傳遞授權令牌。另外,除非查詢是JSON字符串化的,否則調用不起作用(否則會得到400錯誤)。
JSON Stringify似乎將變量'superQuery'的名稱轉換爲字符串,而不是將'superQuery'的值轉換爲字符串。
如何發送帶有可根據用戶輸入更改的變量的graphQL查詢?
P.S.對網頁開發的相對低估,對任何超級明顯的錯誤表示歉意。
這是我到目前爲止有:
var entry = $('#entry').val()
var superQuery = `{
repository(name: entry, owner: "******") {
pullRequests(last: 100) {
nodes {
state
headRepository {
owner {
login
}
}
}
}
}
}`
.ajax({
method: "POST",
url: "https://api.github.com/graphql",
contentType: "application/json",
headers: {
Authorization: "bearer **********************************"
},
data: JSON.stringify({
query: superQuery
})
})
謝謝,亞歷克斯 我想你有什麼在這裏,有一些它的變化沿,但保留接收空對象。 –
終於明白了,你幫助我指出了正確的方向。謝謝! 以下是我的AJAX調用中的代碼: data:JSON.stringify({query:$ entry:String!){repository(name:$ entry,owner:「*****」) { pullRequests(去年:100){ 節點{ 狀態 headRepository { 所有者{ 登錄 } } } } } }', 變量:{ 「項」:$('#進入').val() } –
完美,很高興你有它工作,我從來沒有直接在ajax調用中使用它,但這是有道理的。 –