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
- Comptabilité
- Inventaire
- PoS
- Project
- MRP
Cette question a été signalée
4201
Vues
Vous appréciez la discussion ? Ne vous contentez pas de lire, rejoignez-nous !
Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !
S'inscrirePublications associées | Réponses | Vues | Activité | |
---|---|---|---|---|
|
0
juil. 17
|
2877 | ||
|
0
mars 15
|
6439 | ||
|
1
août 25
|
2150 | ||
|
0
nov. 23
|
1881 | ||
|
1
mai 20
|
11937 |
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}))