2016-11-27 74 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

我希望这将有助于。