gpt4 book ai didi

jquery - 如何发送带有变量的 GraphQL AJAX 查询?

转载 作者:行者123 更新时间:2023-12-01 00:55:37 24 4
gpt4 key购买 nike

我正在尝试使用 GraphQL 对 GitHub 进行 API 调用,我已经能够使用静态 graphQL 调用成功调用数据,但是我在调​​用中放置变量(var 条目)时遇到问题,以便我可以更改基于用户在网络应用中提供的输入的调用。

我使用 AJAX 来传递授权 token 。此外,除非查询是 JSON 字符串化的,否则调用不起作用(否则会收到 400 错误)。

JSON Stringify 似乎将变量“superQuery”的名称转换为字符串,而不是将“superQuery”的值转换为字符串。

如何发送带有可根据用户输入更改的变量的 graphQL 查询?

附注对于 Web 开发相对菜鸟,对于任何非常明显的错误表示歉意。

这是我到目前为止所拥有的:

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
})
})

最佳答案

对于遇到同样问题的人,以下是我最终让它工作时的代码:

      $('button').click(function() {
event.preventDefault();
var entry = $('#entry').val()
console.log(entry);


$.ajax({
method: "POST",
url: "https://api.github.com/graphql",
contentType: "application/json",
headers: {
Authorization: "bearer ***********"
},
data: JSON.stringify({
query: `
query ($entry: String!) {
repository(name: $entry, owner: "*******") {
pullRequests(last: 100) {
nodes {
state
headRepository {
owner {
login
}
}
}
}
}
}
`,
variables: { "entry": $('#entry').val() },
}),
})

关于jquery - 如何发送带有变量的 GraphQL AJAX 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45516743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com