Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 重新加载为true时,Ember findRecord不进行API调用_Javascript_Jquery_Ajax_Ember.js_Reload - Fatal编程技术网

Javascript 重新加载为true时,Ember findRecord不进行API调用

Javascript 重新加载为true时,Ember findRecord不进行API调用,javascript,jquery,ajax,ember.js,reload,Javascript,Jquery,Ajax,Ember.js,Reload,调用route时,将调用一个方法“load”,该方法获取数据以显示用户的详细信息。(使用“this.store.findRecord”获取用户) 在该页面中,单击按钮时,我从controller发出一个ajax调用,成功后,我试图通过调用前面的方法“load”来更新用户的值。正在调用此时间方法,但“this.store.findRecord”未调用后端 当前用户(包含加载方法的服务) 当页面第一次加载时,以及在ajax调用的成功部分,将调用上述方法 Ajax调用 ajax: Ember.inje

调用route时,将调用一个方法“load”,该方法获取数据以显示用户的详细信息。(使用“this.store.findRecord”获取用户)

在该页面中,单击按钮时,我从controller发出一个ajax调用,成功后,我试图通过调用前面的方法“load”来更新用户的值。正在调用此时间方法,但“this.store.findRecord”未调用后端

当前用户(包含加载方法的服务)

当页面第一次加载时,以及在ajax调用的成功部分,将调用上述方法

Ajax调用

ajax: Ember.inject.service(),
currentUser: Ember.inject.service('current-user'),

init(){
    this._super(...arguments);
},

actions:{
    recharge(amount){
        console.log(amount);
        var user_id = this.get('currentUser').get('user').get('id');
        var balance = this.get('currentUser').get('user').get('balance');
        var that = this;
        console.log(this.get('currentUser').get('user'));
        this.get('ajax').post('/user/payments', {data: {user_id: user_id, amount:amount}})
        .then(() => {
            console.log("successfully recharged");
            this.get('currentUser').load();
        }).catch(() => {
            console.log("Something went wrong");
        });
    }
}

看起来应该有用。但是要知道,这并不能抓住所有的错误。要捕获它们,请在
load()
中返回承诺,并在
中调用时返回
load()
返回的承诺。然后()
。看起来它应该可以工作。但是要知道,这并不能抓住所有的错误。要捕获它们,请在
load()
中返回承诺,并在
中调用时返回
load()
返回的承诺。然后()。
ajax: Ember.inject.service(),
currentUser: Ember.inject.service('current-user'),

init(){
    this._super(...arguments);
},

actions:{
    recharge(amount){
        console.log(amount);
        var user_id = this.get('currentUser').get('user').get('id');
        var balance = this.get('currentUser').get('user').get('balance');
        var that = this;
        console.log(this.get('currentUser').get('user'));
        this.get('ajax').post('/user/payments', {data: {user_id: user_id, amount:amount}})
        .then(() => {
            console.log("successfully recharged");
            this.get('currentUser').load();
        }).catch(() => {
            console.log("Something went wrong");
        });
    }
}