【发布时间】:2019-10-26 05:35:43
【问题描述】:
我正在尝试通过 apollo-client 使用 graphql。前端有 Ember,后端有 django 和 graphql 服务器,在本教程中实现 (https://www.howtographql.com/graphql-python/0-introduction/)。 Ember 应用在 4200 端口,graphql 服务器在 8000/graphql 上代理(ember s --proxy http://localhost:8000)
我尝试遵循本指南 (https://www.howtographql.com/ember-apollo/1-getting-started/),但没有使用 graphcool,因为我们有后端。
在控制器 signup.js 我有
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import Mutation from '../gql/mutation';
我是这样注入阿波罗的
export default Controller.extend({
apollo: Ember.inject.service(),
突变是这样的
actions: {
signUp() {
let username = this.get('username');
let password = this.get('password');
let email = this.get('email');
const credentials = { username, password, email };
let mutation = Mutation.CREATE_USER;
return this.get('apollo').mutate({mutation, credentials}, 'createUser').then(() => {
this.set('username', '');
this.set('email', '');
this.set('password', '');
console.log('user created successfully!');
}).catch(error => console.log('ERROR!!!!111:', error));
点击表单中的提交按钮后,我收到了这条消息
POST http://localhost:4200/graphql 500 (Internal Server Error)
ServerParseError: Unexpected token < in JSON at position 0
我能做什么?
【问题讨论】:
-
您确定这不是 API 问题吗?如果您可以包含请求有效负载,将会很有帮助。请注意,如果使用最新版本的 Ember,您可以使用
async/await。使代码更具 IMO 可读性。
标签: python django ember.js graphql apollo-client