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
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
3426
Views
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Jul 17
|
2088 | ||
|
0
Mar 15
|
5154 | ||
|
1
Feb 24
|
986 | ||
|
0
Nov 23
|
827 | ||
|
1
May 20
|
10066 |
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}))