问题是,给定诸如“火影忍者”之类的查询,您当前的代码将导致以下文本:
media(type:ANIME, search: naruto ) {这是无效的语法,因为字符串文字应该用双引号(
")引起来。
不要使用字符串插值为查询提供动态值。这些应始终表示为变量,并作为单独的对象包含在请求中
query。
您需要在操作中定义变量,并提供适当的类型
var query = `query Search ($searchQuery: String!) {那么您可以在操作中的任何位置使用变量:
media(type:ANIME, search: $searchQuery) {现在,只需将变量值与您的请求一起传递即可。
body: JSON.stringify({ query, variables: { searchQuery, }})请注意,变量名
$在GraphQL文档内部带有前缀,但在变量外部则不这样做。



