2017-03-08 93 views
1

我需要一個通過ajax調用的頁面,以便每次請求時都可以完全重新加載。目前,當第一次請求時,它會正確加載頁面,但在第二次請求時會加載前一個結果,然後在2或3秒後加載新結果。在每個Ajax調用上重新加載被呼叫的頁面

我希望它顯示加載圖像,同時它將頁面重新加載到我的div。

見代碼我使用如下:

$io('#load_order_preview').on('click', function(){ 

      var portfolioName  = $io("#portfolioName").val(); 
      var instrumentType  = $io("#instrumentType").val(); 
      var securityName  = $io("#securityName").val(); 
      var orderType   = $io("#orderType").val(); 
      var priceType   = $io("#priceType").val(); 
      var quantityRequested = $io("#quantityRequested").val(); 
      var orderTermName  = $io("#orderTermName").val(); 
      var limitPrice   = $io("#limitPrice").val(); 
      var stockPrice   = $io("#stockPrice").val(); 
      var stopPrice   = $io("#stopPrice").val(); 

      var dataString = 'portfolioName='+ portfolioName + '&instrumentType=' + instrumentType + '&securityName=' + securityName + '&orderType=' + orderType + '&priceType=' + priceType + '&quantityRequested=' + quantityRequested + '&orderTermName=' + orderTermName + '&limitPrice=' + limitPrice + '&stopPrice=' + stopPrice; 

      $io('#load_popup_modal_orderpreview').load(
       'load-preview.php?' + dataString 
      }).modal({ 
      backdrop: 'static', 
      keyboard: false 
      }).show(); 

     }); 

我真的很喜歡一些幫助來解決這個問題。

在此先感謝。

+0

從'backdrop:'static',;'中移除多餘的半列。 –

+0

你的ajax呼叫在哪裏? – user7417866

+0

我已經刪除了額外的分號,它仍然無法正常工作,對不起,我沒有使用ajax。只是經常jquery javascript –

回答

0

試試這個,不知道它會定期JavaScript的工作,

 $io('#load_order_preview').on('click', function(){ 

var dataString = 'portfolioName='+ portfolioName + '&instrumentType=' + instrumentType + '&securityName=' + securityName 
        + '&orderType=' + orderType + '&priceType=' + priceType + '&quantityRequested=' + quantityRequested 
        + '&orderTermName=' + orderTermName + '&limitPrice=' + limitPrice + '&stopPrice=' + stopPrice; 

       $io('#load_popup_modal_orderpreview').load(
        'load-preview.php?' + dataString 
       }).modal({ 
       backdrop: 'static', 
       keyboard: false, 
cache: false 
       }).show(); 

}); 

基本上你的問題是緩存,當你重新加載頁面,花了值從緩存中,當你重裝2-3次,它從服務器強制獲取。

編輯==

如果緩存是不是你的概率,並且由於它花了2-3秒,以反映新的圖像,這是概率與瀏覽器的異步行爲。當你提出請求時,瀏覽器不會等待你的迴應,而是繼續前進,當它收到響應時,瀏覽器會採取行動。

解決方案,

儘量使Ajax調用成功響應做你的活動

(最後一個選項,不是好的做法) 打吧異步假,

$io('#load_order_preview').on('click', function(){ 

var dataString = 'portfolioName='+ portfolioName + '&instrumentType=' + instrumentType + '&securityName=' + securityName 
        + '&orderType=' + orderType + '&priceType=' + priceType + '&quantityRequested=' + quantityRequested 
        + '&orderTermName=' + orderTermName + '&limitPrice=' + limitPrice + '&stopPrice=' + stopPrice; 

       $io('#load_popup_modal_orderpreview').load(
        'load-preview.php?' + dataString 
       }).modal({ 
       backdrop: 'static', 
       keyboard: false, 
cache: false, 
async: false 
       }).show(); 

}); 

請注意,這將使您的瀏覽器等待,直到您的服務器響應您的呼叫。

+0

嗨緩存屬性沒有解決它。問題是它最終會在2 - 3秒後加載正確的數字,但在加載新請求的數字(如果用戶不耐煩時可能會使用戶感到混淆)之前顯示之前的數字。我希望它至少顯示一個加載圖像,直到新數字已準備就緒 –

+0

你可以撥弄它嗎? – user7417866

+0

可能無法擺弄它。我的HTML中有很多是動態調用的。很多包括等 –