2016-01-29 4 views
1

Я создал форму поиска, и я попытался отправить данные $_POST на другой php в ajax, но он не работает.Можно ли отправлять данные POST на другой php в ajax?

И я хочу знать, возможно ли, если я хочу отправить $_POST данные в url:"searchby.php" в ajax?

search.php:

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" id="searchTerm"> 
    <input type="text" name="search" id="search" autocomplete="off"> 
    <button type="loading" class="btn btn-primary">Add</button> 
</form> 

<script type="text/javascript"> 
    var ajax_arry=[]; 
    var ajax_index =0; 
    var sctp = 100; 

    $(function(){ 
     $('#loading').show(); 
     $.ajax({ 
      url:"searchby.php", 
      type:"POST", 
      data:"actionfunction=showData&page=1", 
      cache: false, 
      success: function(response){ 
       $('#loading').hide(); 
       $('#demoajax').html(response); 
      } 
     }); 

     $(window).scroll(function(){ 

      var height = $('#demoajax').height(); 
      var scroll_top = $(this).scrollTop(); 
      if(ajax_arry.length>0){ 
       $('#loading').hide(); 
       for(var i=0;i<ajax_arry.length;i++){ 
        ajax_arry[i].abort(); 
       } 
      } 
      var page = $('#demoajax').find('.nextpage').val(); 
      var isload = $('#demoajax').find('.isload').val(); 
      var searchTerm = "<?php echo $x; ?>"; 

      if ((($(window).scrollTop()+document.body.clientHeight)==$(window).height()) && isload=='true'){ 
       $('#loading').show(); 
       var ajaxreq = $.ajax({ 
        url:"searchby.php", 
        type:"POST", 
        data:"actionfunction=showData&page="+page, 
        cache: false, 
        success: function(response){ 
         $('#demoajax').find('.nextpage').remove(); 
         $('#demoajax').find('.isload').remove(); 
         $('#loading').hide(); 
         $('#demoajax').append(response); 
        } 
       }); 
       ajax_arry[ajax_index++]= ajaxreq; 
      } 
      return false; 
      if($(window).scrollTop() == $(window).height()) { 
      alert("bottom!"); 
     } 
    }); 
}); 

</script> 

И мой searchby.php должен выглядеть следующим образом.

searchby.php:

$searchstring = $_POST['search']; 
$sql = "SELECT * FROM product WHERE p_name LIKE '%$searchstring %'"; 
+0

Есть ли у вас какие-либо ошибки в этом коде? – devpro

+0

Он не отправляет сообщение в searchby.php. Я проверяю echo $ _POST ['search'] ;. Есть ли у вас какие-либо идеи? –

+3

Вы пытаетесь получить '$ _POST ['search']', когда я не вижу, чтобы вы передавали какой-либо параметр с этим именем. –

ответ

1

Вам нужно отправить значение поиска в АЯКСЕ парах как:

var searchVal = $("#search").val(); // get value of search box 
$.ajax({ 
    url:"searchby.php", 
    type:"POST", 
    data:"search="+searchVal+"&actionfunction=showData&page=1", 
    cache: false, 
    success: function(response){ 
     $('#loading').hide(); 
     $('#demoajax').html(response); 
    } 
}); 

UPDATE 1:

запрос Отправить Ajax при отправке формы, вы можете следовать этому примеру:

$(".btn").click(function(){ 

var searchVal = $("#search").val(); // get value of search box 
$.ajax({ 
    url:"searchby.php", 
    type:"POST", 
    data:"search="+searchVal+"&actionfunction=showData&page=1", 
    cache: false, 
    success: function(response){ 
     $('#loading').hide(); 
     $('#demoajax').html(response); 
    } 
}); 

}); 

В PHP (searchb y.php) отладка, что вы получаете в $ _POST:

echo "<pre>"; 
print_r($_POST); 
echo "<pre>"; 
print_r($_POST); 
+0

Я пробовал свой код, но мой бесконечный свиток не работает. –

+0

Я получаю бесконечный свиток из этого [Demo] (http://www.infotuts.com/ajax-infinite-scroll-using-jquery-php-mysql/). –

+0

@ VintageBeef: прежде всего проверьте свой запрос ajax на отправку формы, это работает или нет ... и перейдите по прокручиваемому коду, поэтому отключите прокручиваемый код. – devpro

0

Вы должны послать значение входного search в запросе после того, чтобы получить это значение, вы можете использовать селектор ID #, например:

var search = $('#search').val(); 

$.ajax({ 
    url:"searchby.php", 
    type:"POST", 
    data:"actionfunction=showData&page=1&search="+search, 
    cache: false, 
    success: function(response){ 
     $('#loading').hide(); 
     $('#demoajax').html(response); 
    } 
}); 

Надеюсь это поможет.

+0

Спасибо, я пробовал это раньше, но мой бесконечный свиток получит все мои данные не только для ввода слова. –

Смежные вопросы