dsi37923 2015-06-18 10:33
浏览 25

加载mysql数据后继续jQuery

I am using jquery and php along with WordPress to access data from a mysql database.

I managed to retrieve that data but would like jquery to wait until all the data has been retrieved.

Below is the pertinent code segment.

Both alert commands display nothing because the data has not finished loading.

How can I re-code this?

jQuery(document).ready(function ($) {
    load_qs('foo');
    alert($(".all-qa-free").val());
    //////////////////////////////////////////////////////////////////////////
    function load_qs(data) {
        var data = {
            action: 'load_question_set',
            async: false,
            cache: false,
            qset_id: data
        };

        $.post(the_ajax_script.ajaxurl, data, function (response) {
            var mydb_data = $.parseJSON(response);
            $("#all-qa").val(mydb_data.qa);
            alert($(".all-qa-free").val());
            return;
        });
    }
});
  • 写回答

2条回答 默认 最新

  • dongyong8098 2015-06-18 10:41
    关注

    Ajax calls are asynchronous, while the JS executes synchronously. jQuery/JavaScript initiates the ajax calls and immediately goes to the next line for executing. It doesn't wait for the response to come from the server.

    Solution: Do all the processing, which you want to do on server response in the callback function itself. In your case, in the below function:

    function(response) {         
        var mydb_data = $.parseJSON(response);
        $("#all-qa").val(mydb_data.qa);
      alert ($(".all-qa-free").val());  
        return; 
    }
    

    Otherwise you will keep facing this issue. Try putting alert in the callback function. It'll definitely work.

    One more thing, you are putting value in id "#all-qa" and fetching data from ".all-qa-free", please check if you are doing this right.

    -- HappyCoding

    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容