2010-08-26 102 views
0

我需要一个PHP脚本来预加载一些值,我使用的是$。员额调用(jQuery的)如下:Ajax调用加载

...  
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'); 
     } 

我需要这个值来呈现这样

$("#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', 
… 

一个jqGrid的所以我叫$("#list").jqGrid({…前loadData但似乎jqGrid的前loadData要加载,不知道为什么,所以我在品位,部分变量获得未定义的值。

我试过用jQuery的事件,如beforeRequest和loadBeforeSend无济于事。

有什么建议吗?谢谢。

回答

0

因为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'); 
+0

也许一个新手问题......谢谢。 – Felix 2010-08-26 09:45:10