Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Graphql:必须提供查询字符串_Javascript_Node.js_Express_Graphql_Relay - Fatal编程技术网

Javascript Graphql:必须提供查询字符串

Javascript Graphql:必须提供查询字符串,javascript,node.js,express,graphql,relay,Javascript,Node.js,Express,Graphql,Relay,我有一个简单的express graphql服务器: const schema = require('./schema'); const express = require('express'); const graphqlHTTP = require('express-graphql'); const cors = require('cors') const bodyParser = require('body-parser'); const app = express(); app.us

我有一个简单的express graphql服务器:

const schema = require('./schema');
const express = require('express');
const graphqlHTTP = require('express-graphql');
const cors = require('cors')
const bodyParser = require('body-parser');


const app = express();
app.use(cors());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use('/graphql', graphqlHTTP(req => {
  return ({
  schema,
  pretty: true,
  })
}));

const server = app.listen(9000, err => {
  if (err) { return err; }
  console.log(`GraphQL server running on http://localhost:${9000}/graphql`);
});
我的请求如下:

有什么帮助吗?


(请不要将其作为副本关闭,因为另一篇文章没有提供关于用户如何解决它的足够信息)

您需要在内容类型标题中指定
application/json
——您当前有
text/plain
。您已经在服务器上包含了主体解析器中间件,但它依赖于请求中的该标头来知道何时需要将响应解析为JSON。

尝试将
schema、
替换为
schema:schema、
@ChrisG如果它不理解语法,它将抛出语法错误。@ChrisG在ES6
{schema}
相当于
{schema:schema}
。是糖!好眼力,这看起来像个虫子。