I am trying to call a controller function from js and use the result for validation purpose.
Unfortunately, the result getting as `undefined` because of the result line is printing before the completion of the ajax call.
here is my code:
***.js**
    send: function(e){
    e.preventDefault();
    var self = this;
    var is_submit = self.$target.find('#is_submit').val();
    var mobile = self.$target.find('#mobile').val();
    var phone = self.$target.find('#phone').val();
    var data = self.ajaxcall(mobile,e);
    console.log('dddddddd',data);// here it prints undefined.
    if (data == false){
      return false;
    }
    this._super(e);
    },
    })
 
    ajaxcall:function(mobile,e){
    var value = {
      'flag':'mobile',
      'number':mobile
    }
    ajax.jsonRpc('/checkexisting/','call',value).then(function(data){
      console.log('isnide ajax call',data);
      return data;
    });
  },
Here is th console output:
 [![enter image description here][1]][1]
  [1]: https://i.stack.imgur.com/SK4ib.png
How can i make it as a synchronous mode?
Odoo is the world's easiest all-in-one management software.
 It includes hundreds of business apps:
- CRM
- e-Commerce
- 会計
- 在庫
- PoS
- プロジェクト
- MRP
この質問にフラグが付けられました
            
                4787
                
                    ビュー
                
            
        
    | 関連投稿 | 返信 | ビュー | 活動 | |
|---|---|---|---|---|
|  | 0 7月 17  | 3512 | ||
|  | 0 3月 15  | 7242 | ||
|  | 1 8月 25  | 2823 | ||
|  | 0 11月 23  | 2508 | ||
|  | 1 5月 20  | 12735 | 
 
                        
Have you tried $.when() ?
Grep for examples in the mail module js folder...
@Pablo Guerra, I searched this in the source code and found it. But i didn't understand. Could you give a concrete solution?
I'm not sure if it works. something like
var xyz
xyz= ajax.jsonRpc('/checkexisting/','call',value) //I'm assuming that this returns some value from server.
$.when(xyz).pipe(function(result){return result}))