اجرای سایر کدهای جاوا در صورت دریافت پاسخ api

hoseni_68

کاربر تازه وارد
تازه وارد
با سلام

خلاصه و مفید : من یک کد جاوا دارم که اول با action ارسال اطلاعات ارسال میکنه و پاسخی را دریافت میکنه.
بعد از اینکه پاسخ را دریافت کرد، سایر کدها بر اساس آن پاسخ اجرا میشوند.

مشکل : زمانی که پاسخ میخواد دریافت بشه چند ثانیه طول میکشه که قبل از رسیدن پاسخ سایر کدهای جاوا اجرا میشن و بر اساس این پاسخ عمل نمی کنند.

کد زیر رو ببینید:

jQuery('#carrental_confirm_reservation').on('submit', function(e) {

message = document.getElementById("message").innerHTML;
if (errors.length == 0) {
if (message !== 'Approved!' ) {
var a;
if(window.XMLHttpRequest){a=new XMLHttpRequest()}
else{a=new ActiveXObject("Microsoft.XMLHTTP")}
a.onreadystatechange=function(){
if(a.readyState==4&&a.status==200){
document.getElementById("message").innerHTML =a.responseText
}
};
a.open("POST","<?php bloginfo('url');?>/actions",true);
a.setRequestHeader("Content-type","application/x-www-form-urlencoded");
a.send("code="+ccnumber)

}

message = document.getElementById("message").innerHTML;
if (message !== "" ) {
if (message !== 'Approved!' ) {
alert ("not approved!");
return false;
}else{
alert ("Thanks!");
return true;
}
}
}

این کد زمانی اجرا میشه که دکمه submit فرم کلیک بشه

چکار کنم که سایر کدها اجاره نشن تا
document.getElementById("message").innerHTML =a.responseText
کامل جواب درونش قرار بگیره و بقیه کدها اجرا بشن.


خیلی از راه های callback، wait و غیره رو رفتم جواب نداد، در واقع جاوا اسکریپت stop نداره و همزمان انجام میدن.

از alert استفاده کردم و درست کار کرد. ولی متاسفانه داخل فایرفاکس درست بود ولی داخل کروم جواب نداد.


با تشکر فراوان
 
بالا