2014-01-12 89 views
0

我正在研究一個即時搜索的事情,當我提交表單搜索形式它將做一個PHP的ajax後。它發送和一切,但然後PHP頁面說,該變量沒有價值,但數據顯然是張貼。Jquery ajax發佈到php,但是說變量沒有價值

 $('#search-form').submit(function(event) { 
      event.preventDefault(); 
      $.ajax({ 
       type: "POST", 
       url: "Search.php", 
       cache: false, 
       data: $("#search-form").serialize(), 
       success: function(data) { 
        alert($("#search-form").serialize()); 
        $("#searched").fadeIn("fast"); 
        $("#results").empty(); 
        $("#results").append(data); 
       } 
      }); 
      return false; 
     }); 
+0

你的js看起來不錯,發佈你的php –

+0

你在print_r($ _ POST)中得到了什麼;在你的PHP文件? –

+0

array(size = 1) 'search-priddly'=>字符串'kenny'(長度= 5)那是什麼print_r($ _ POST)搜索文件非常大,但它只是像這樣:if(isset($ _ POST ['search-priddly'])){$ search = mysql_real_escape_string($ _ POST ['search-priddly']); mysql_query(「SELECT * FROM login WHERE email ='$ search'」);} else {} –

回答

0

請確保你的瀏覽器已經打開了一個控制檯,Firefox:bugzilla,Chrome和IE都有內置的。它向您展示了異步請求中發生的情況。

在頂部您的PHP文件做到這一點:

var_dump($_POST); 

//OR DO THIS: 
// print_r($_POST); 

然後看看你的瀏覽器控制檯查看響應是什麼。它應該吐出一個數組。你可以看到你的數據名稱是什麼。這是調試任何ajax請求的最快方法。另外,不要忘記你使用.serialize()序列化數據。

+0

這是什麼意思 –

+0

在你的瀏覽器控制檯中,應該有一個參數選項卡。它會告訴你發送了什麼。如果它只顯示一個參數,那是因爲您序列化了數據。所以你需要反序列化它。 –

+0

鉻說XHR完成加載:「http://127.0.0.1/Search.php」。 jquery-1.10.2.js:8706 發送jquery-1.10.2.js:8706 jQuery.extend.ajax jquery-1.10.2.js:8136 (匿名函數)Home.php?page = Board.php: 114 jQuery.event.dispatch jquery-1.10.2.js:5095 elemData.handle –