php - Javascript 在从 ajax 调用获取结果之前执行

标签 php javascript ajax

我有以下显示 session 数据的代码。我面临的问题是,即使 session 具有值并且ajax获取该数据,我在函数调用 getValFromSession(qes) 下面放置的警报始终显示空数据。认为这是由于 javascript 中 ajax 的异步执行造成的。所以我添加了一些额外的代码,如函数中所示
getValFromSession(qid)。如何克服这个异步问题?

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']];
}

最佳答案

试试这个:

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']];
}

希望这有帮助。

关于php - Javascript 在从 ajax 调用获取结果之前执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12560879/

相关文章:

php - 所有站点交互均通过单个页面进行

php - Kohana3 : Different . htaccess rewritebase 和 kohana base_url 用于开发和生产环境

php - 获取每组前三名的比赛记录

java - 如何将android连接到远程数据库

javascript - 如何定义一个函数来像这样调用 : function1(). function2()?

jquery - 如果我不想在jquery ajax调用中返回任何内容怎么办?

javascript - 用户ajax在javaScript中获取没有 "onClick function"的数据

php - 使用javascript删除cookie

javascript - 从字符串中删除空格、点和特殊字符,并在 jQuery 中用连字符替换

javascript - 如何在react组件中导入js文件?