使用Javascript从Ajax调用得到结果之前执行 [英] Javascript executes before getting result from a ajax call
本文介绍了使用Javascript从Ajax调用得到结果之前执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下的code这显示会议data.The问题时面对的是即使会话具有价值和阿贾克斯获得这些数据,我已经把下面的函数调用getValFromSession警报(QES)始终显示为空data.I认为这是由于AJAX的异步执行与在javascript.So我把一些额外的code,如图中的功能
getValFromSession(QID)我。如何克服这个异步问题?
VAR QES = $('#qsid _'+ Q).VAL();
VAR解析度= getValFromSession(QES);
警报(RES); //总是显示null值
$('#选择_'+)VAL(parseInt函数(RES))。
功能getValFromSession(QID)
{
返回$阿贾克斯({
网址:site_url_js +控制器/ getValFromSession
键入:POST,
数据:QID =+ QID,
缓存:假的,
异步:假的
})responseText的;
}
/ *控制器* /
功能getValFromSession()
{
回声$ _SESSION ['时间'] [$ _ REQUEST ['QID'];
}
解决方案
试试这个:
VAR QES = $('#qsid _'+ Q).VAL();
VAR解析度= getValFromSession(QES);
功能getValFromSession(QID)
{
$阿贾克斯({
网址:site_url_js +控制器/ getValFromSession
键入:POST,
数据:QID =+ QID,
缓存:假的,
异步:假的,
成功:功能(数据){
警报(数据); //提醒在这里successHandler
$('#选择_'+)VAL(parseInt函数(数据))。
}
})
}
/ *控制器* /
功能getValFromSession()
{
回声$ _SESSION ['时间'] [$ _ REQUEST ['QID'];
}
希望这有助于。
I have the following code which displays session data.The problem am facing is even if the session has value and the ajax get that data the alert that I have put below the function call getValFromSession(qes) always shows null data.I think this is due to the asynchronous execution of ajax with in the javascript.So I put some extra code as shown in the function
getValFromSession(qid).How can I overcome this asynchronous issue?
var qes=$('#qsid_'+q).val();
var res=getValFromSession(qes);
alert(res);//always shows null value
$('#select_'+).val(parseInt(res));
function getValFromSession(qid)
{
return $.ajax({
url : site_url_js+"controller/getValFromSession",
type : "POST",
data : "qid="+qid,
cache: false,
async: false
}).responseText;
}
/*controller*/
function getValFromSession()
{
echo $_SESSION['time'][$_REQUEST['qid']];
}
解决方案
Try this:
var qes=$('#qsid_'+q).val();
var res=getValFromSession(qes);
function getValFromSession(qid)
{
$.ajax({
url : site_url_js+"controller/getValFromSession",
type : "POST",
data : "qid="+qid,
cache: false,
async: false,
success: function(data) {
alert(data); // alert here in successHandler
$('#select_'+).val(parseInt(data));
}
})
}
/*controller*/
function getValFromSession()
{
echo $_SESSION['time'][$_REQUEST['qid']];
}
Hope this helps.
这篇关于使用Javascript从Ajax调用得到结果之前执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文