Emberが新しく、RESTful API経由でdjangoサーバーと通信しようとしています。これまでのところ、私はサーバから情報を得ることができましたが、情報を送り返そうとすると「CSRF Failed:CSRFトークンが見つからないか間違っています」エラー。Emberはデータをdjangoバックエンドに保存します
Chromeの開発ツールのリソースでは、Cookieがないことがわかります。私は "X-CSRFToken":私のアダプターの "クッキー"を読んでいるが、私はクッキーを持っていないので何をすべきか分からない。
は、だから私はここで は私のコードです...行き止まりにM」:サーバーの応答:
[{"username":"user1","password":"123","email":"[email protected]"},
{"username":"user2","password":"456","email":"[email protected]"}]
エンバーモデル:
import DS from 'ember-data';
export default DS.Model.extend({
username: DS.attr(),
password: DS.attr(),
email: DS.attr()
});
エンバーアダプタ:
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: '/api',
contentType: 'application/json',
dataType: 'json',
headers: {
username: 'XXXX',
password: 'XXXX'
},
buildURL: function(modelName, id, snapshot, requestType, query) {
var url = this._super(modelName, id, snapshot, requestType, query);
return url + "/";
}
});
エンバーシリアライザ:
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
primaryKey: 'username'
});
Ember Route: import Ember from 'ember';
export default Ember.Route.extend({
model() {
return this.store.findAll('account');
}
});
エンバーコントローラー:
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
signup(){
console.log('My username is: ', this.get('username'));
console.log('My password is: ', this.get('password'));
console.log('My email is: ', this.get('email'));
var account = this.store.createRecord('account', {
username: this.get('username'),
password: this.get('password'),
email: this.get('email')
});
account.save();
}
}
});
あなたの助けのために事前にありがとうございます。
あなたはDjangoのRESTフレームワークを使用している場合は、燃えさし-ジャンゴ・アダプターをしようと考えるhttps://github.com/dustinfarris/ember - ジャンゴアダプター – dustinfarris