jgrid 加载之前的 Ajax 调用

发布于 2024-09-16 05:49:37 字数 1051 浏览 4 评论 0原文

我需要从 php 脚本预加载一些值,我使用 $.post 调用(jquery),如下所示:

...    
var grade, section,from,until,user;


        function loadData(){
            $.post('procstring.php', {data: window.location.hash},
                   function(result){
                    grade = result.grade;
                    section = result.section;
                    from = result.from;
                    until = result.until;
                    user = result.user;
                    },
            'json');
        }

我需要这些值来呈现这样的 jqgrid

$("#list").jqGrid({

            url: 'report.php?g=' + grade + '&s=' + section + '&f=' + from + '&u='+ until + '&u=' + user + '&report=1&searchString=null&searchField=null&searchOper=null',
            datatype: 'json',
            mtype: 'GET',
…

所以我在 $(" 之前调用 loadData #list").jqGrid({… 但 jqgrid 似乎是在 loadData 之前加载的,不知道为什么,所以我在年级、部分变量上得到了未定义的值。

我尝试过使用 jgrid 事件,例如beforeRequest 和 loadBeforeSend 无济于事

?谢谢。

I need to pre-load some values from a php script, I'm using a $.post call (jquery) as follows:

...    
var grade, section,from,until,user;


        function loadData(){
            $.post('procstring.php', {data: window.location.hash},
                   function(result){
                    grade = result.grade;
                    section = result.section;
                    from = result.from;
                    until = result.until;
                    user = result.user;
                    },
            'json');
        }

I need this values to render a jqgrid like this

$("#list").jqGrid({

            url: 'report.php?g=' + grade + '&s=' + section + '&f=' + from + '&u='+ until + '&u=' + user + '&report=1&searchString=null&searchField=null&searchOper=null',
            datatype: 'json',
            mtype: 'GET',
…

So I call the loadData before $("#list").jqGrid({… but jqgrid seems to be loaded before loadData, don't know why, so I'm getting undefined values at the grade, section variables.

I've tried with jgrid events like beforeRequest and loadBeforeSend with no avail.

Any suggestion?. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

转身泪倾城 2024-09-23 05:49:37

因为AJAX是异步的。您需要将 $("#list").jqGrid({... 放在成功回调中:

// No need to define the variables outside
$.post('procstring.php', { data: window.location.hash },
    function(result)
        var grade = result.grade;
        var section = result.section;
        var from = result.from;
        var until = result.until;
        var user = result.user;

        $("#list").jqGrid({...
},
'json');

Because AJAX is asynchronous. You need to put $("#list").jqGrid({... inside the success callback:

// No need to define the variables outside
$.post('procstring.php', { data: window.location.hash },
    function(result)
        var grade = result.grade;
        var section = result.section;
        var from = result.from;
        var until = result.until;
        var user = result.user;

        $("#list").jqGrid({...
},
'json');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文