I need to implement synchronous Ajax calling mechanism. I already implement ajax calling function in my helper same as below :
MH.helper = {
ajax : function (option) {
if(option !== undefined) {
for(var opt in option) {
this[opt] = option[opt];
}
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
this.xhr=new XMLHttpRequest();
} else {
// code for IE6, IE5
this.xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
I also implement Ajax prototype as same as below :
MH.helper.ajax.prototype = {
// XMLHttpRequest obj
xhr : null,
// request url
url: '',
// post funciton
post: function() {
var xhr = this.xhr;
var that = this;
xhr.onreadystatechange=function() {
if(xhr.readyState==4 && xhr.status==200){
if(that.complete && ( typeof that.complete === 'function' )) {
that.complete(xhr.responseText);
}
}
}
var data = MH.helper.serialize(this.data, true);
xhr.open("POST",this.url,true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(data);
},
// get funciton
get: function() {
var xhr = this.xhr;
var that = this;
xhr.onreadystatechange=function() {
if(xhr.readyState==4 && xhr.status==200){
if(that.complete && ( typeof that.complete === 'function' )) {
that.complete(xhr.responseText);
}
}
}
var data = MH.helper.serialize(this.data);
xhr.open("GET",this.url+data,true);
xhr.send(data);
},
// callback when request done
complete: null
}
Anyone have any idea how can I implement synchronous call using my Ajax function?