2015-06-08 43 views
0

我在頁面上有很多mysql查詢。在他們完成之前,我想在我的頁面上顯示()一個模式。莫代爾已經準備好了。Javascript(jQuery)加載模態直到數據庫查詢結束於php頁面

我的算法:

page.onload -> show loading modal 
/*wait until all the queries end*/ 
hide loading modal. 

如何我處理等到所有的查詢部?

在此先感謝。

---編輯---

我正在使用laravel調試欄。 Debugbar顯示我如下:

enter image description here


--- Update--

JavaScript文件:

$(document).ready(function(){ 
    $('#myTab a').on('load', function (e) { 
     e.preventDefault(); 
     $(this).tab('show'); 
    },onLoadMyTab()); 
} 

function onLoadMyTab(){ 
    //postRoute is on my routes.php and data is including the values 
    $.post("postRoute", function(data)){ 
     //some javascript code, just for UI 
    } 
} 

routes.php文件

Route::post('postRoute', array(
    'uses' => '[email protected]' 
    'as' => 'postRoute' 
)); 


myController.php

public function myPostFunction(){ 
    //some database queries here, returning JSON to my onLoadMyTab js function 
    //which returns as data to onLoadMyTab js function. 
} 

希望我能是有意義的。

+0

在某種Ajax請求的查詢? – BillPull

+0

@BillPull ajax和直接mysql通過php請求,包括post和get方法。 –

+0

你可以發佈你如何調用AJAX查詢,比如你的腳本是如何加載的以及何時被調用的? – BillPull

回答

1

這裏有幾個問題:

  1. 你在你的DOM準備好處理程序有錯誤。在$(...).on()之內,第三個參數是發送事件時調用的回調函數。 http://api.jquery.com/on/

你實際上是在傳遞到undefined回調,因爲你叫onLoadMyTab含蓄地返回undefined。

您可能想在DOM準備就緒時立即致電onLoadMyTab

$(document).ready(onLoadMyTab); 
  • $ .POST將使Ajax請求並調用第二PARAM的請求完成時。

    function onLoadMyTab() { 
        $.post("postRoute", function(data)){ 
         // show modal with data here 
        }); 
    } 
    
  • +0

    謝謝。我會反饋什麼時候能夠測試。 –

    相關問題