2016-11-27 77 views
-2

我正在做一個搜索引擎,我想在搜索時做一個等待頁面,同時尋找可用性時,航空公司的網站也一樣?任何想法 我使用Symfony2的在symfony2中搜索等待頁面?

+1

歡迎來到Stack Overflow!請參考[tour](https://stackoverflow.com/tour),環顧四周,閱讀[幫助中心](https://stackoverflow.com/help),特別是[我該怎麼問一個好問題?](https://stackoverflow.com/help/how-to-ask) –

回答

0

你的問題是不準確的,但我認爲你可以如下安排吧:

  1. 準備搜索表單,你在任何地方包括您的網絡
  2. 準備搜索方法上並在symphony中將這個方法分開路由。這個方法應該返回JSON結果。

在用戶使用搜索表單之後接管請求和響應下的控制,您需要接管提交事件並將其更改爲AJAX請求。你可以這樣做,例如這樣(使用JQuery):

 $('body').on('submit', '#search_form', function (e) { 
      e.preventDefault(); 
      loaderSwitch('on'); 

      $.ajax({ 
       type: 'POST', 
       url: searchservice_url_here, 
       data: serialized_entry_data_here 
      }) 
      .done(function (data) 
      { 
       $('#result_place').html(
        renderResults(data); 
       ); 
       loaderSwitch('off'); 
      }) 
      .fail(function (jqXHR, textStatus, errorThrown) 
      { 
       $('#errors_place').html(
        '<div class="alert alert-danger fade in">' 
        + errorThrown 
        + '</div>' 
        ); 
       loaderSwitch('off'); 
      }); 
     }); 

其中:

  1. loaderSwitch是一個JavaScript函數,顯示或隱藏任何「等待結果」動畫。
  2. searchservice_url_here - 是URL到您的搜索方法
  3. serialized_entry_data_here - JSON是與要張貼到搜索方法
  4. renderResults是你需要準備繪製結果的javascript函數的數據。
  5. result_place是DIV的ID,其中要打印搜索結果

另外,您可以響應與HTML和簡單地貼在#result_place

我希望這將有助於。