2016-05-03 4 views
3

createRecordを使用して保存すると、エクスプレスサーバーはPOST要求を受信しますが、req.bodyは空です。私はPostmanを使用して同じ投稿要求を行い、それは完全に動作します。 get要求は、タスクテンプレートでも動作し、タスクをリストに表示します。createRecordが空のreq.bodyをexpress.jsサーバーに送信した後にEmber.js save()を呼び出す

これは私の燃えさしコードです:

ルート(tasks.js):

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model() { 
    return this.store.findAll('task'); 
    }, 
    actions: { 
    addTask() { 
    const task = this.store.createRecord('task', { 
     title: this.get("controller.title") 
    }); 

    task.save(); 

    } 
} 
}); 

モデル(task.js):

import Model from 'ember-data/model'; 
import DS from 'ember-data'; 


export default Model.extend({ 
    title: DS.attr('string') 
}); 

は、テンプレート(tasks.hbs):

{{input value=title}} 
<button id="add-task" {{action "addTask"}}>Add</button> 

<br><br> 

{{#each model as |task|}} 
    {{task.title}}<br> 
{{/each}} 

{{outlet}} 

私はデフォルトのember JSを使用していますONAPIAdapter。

+2

郵便番号でリクエストしたとき、EmberのようにMIMEタイプをjsonapiに設定しましたか?理解していないことを明示してもよいでしょうか?私はRuby on Railsを設定する必要があることを知っています。 – locks

+0

Chromeコンソールを使用してリクエスト(URL、ヘッダー、フォームデータなど)を比較してみてください... this.get( "controller.title")が実際に動作していることも確認してください。 – dolcalmi

答えて

0

JSONAPIAdapterを使用して同じ問題に直面していました。ヘッダーにはいくつかの不一致があるようです。私は何が間違っているのか分かっていない。

しかし、代わりにRESTAdapterを使用して作業しています。

6

EmberとJSONAPIAdapterがapplication/vnd.api + jsonタイプのヘッダーを送信しています。

app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 
+0

ありがとう!私の時間を救った。コントローラでAJAXリクエストを使用したがっていませんでしたが、動作していました。 – SiteTester

関連する問題