![](/img/trans.png)
[英]Using Ember.js to Receive JSON API in Server Response from a Post Request
[英]Ember get the JSON response of a POST request
我有一個Ruby On Rails API和一個分開的前端。 我正在嘗試從ember向我的api添加一條記錄。 我可以在api日志中看到我的請求執行得很好,並返回了json。 但是在我的余燼應用程序中,我嘗試打印該JSON響應並訪問這些信息。
這是我的控制器中通過ember應用程序創建記錄的代碼:
export default Ember.Controller.extend({
actions: {
submit: function(){
var result = this.store.createRecord("session", {email: this.get('email'), password: this.get('password')});
var onSuccess = function(post){
console.log("kikou");
console.log(post);
};
var onFail = function(post){
console.log("kikou");
console.log(post);
};
result.save().then(onSuccess, onFail);
}
}
返回的JSON是:
{"user":{"email":"gui@hotmail.com","authentication_token":"4vLAkiM1Ro5qN2HeNogM","id":1}}
如何訪問電子郵件,authentication_token等? 也許我做錯了什么,或者不是在Rails API上創建記錄的正確方法?
我不想在控制器中編寫任何ajax代碼,否則我看不到使用Ember的興趣。
謝謝您的幫助,
您應該定義一個模型user
,並為您的Ember應用程序使用DS.ActiveModelAdapter
:
app / models / user.js
import DS from 'ember-data';
export default DS.Model.extend({
email: DS.attr('string'),
authentication_token: DS.attr('string')
});
然后,在onSuccess
函數上,您可以像這樣訪問數據:
var onSuccess = function(post){
console.log(post.get('id'));
console.log(post.get('email'));
console.log(post.get('authentication_token'));
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.