2014-02-16 81 views
0

我想從AJAX通過2門陣列(從複選框各自含有值)和一個字符串(從搜索文本框來),以PHPAJAX調用PHP 2個陣列和串

selectedCategories和selectedCompanies是兩個陣列 搜索內容是一個字符串

我有一個AJAX調用它看起來像這樣,我不知道,如果它看起來正確的,雖然

$.ajax({ 
     type: "POST", 
     data: { 
     'companies' : selectedCompanies; 
     'categories' : selectedCategories; 
     'searchWord' : searchWord; 
     }, 
     url: "php/filteringscript.php", 
     success: function(data){ 
     alert(data); 
     } 
    }); 

和映入職位的PHP文件

$selectedCategories = ""; 
$selectedCompanies = ""; 
$searchWord = ""; 
if(isset($_POST['companies'])){ 
    $selectedCompanies = $_POST['companies'];  
} 
if(isset($_POST['categories'])){ 
    $selectedCategories = $_POST['categories']; 
} 
if(isset($_POST['searchWord'])){ 
    $searchWord = $_POST['searchWord'];  
} 

print_r($selectedCategories); 
print_r($selectedCompanies); 
print_r($searchWord); 

但它不工作,沒有東西打印出來。 任何幫助將不勝感激,謝謝!

+1

做的'$ _POST'一個'var_dump'並顯示它請。 – idmean

+0

'的print_r($ _ POST)'前'isset()函數'ING,如果無所不有,你會知道這件事情跟你的JavaScript變量是空的。 – MackieeE

+0

如果您收到然後警報嘗試打印data.responseText其他使用「錯誤」和$就「完整」的參數,找出發生了什麼事情。 – Masterakos

回答

0
var jsonString1 = JSON.stringify(selectedCompanies); 
var jsonString2 = JSON.stringify(selectedCategories); 
return $.ajax({ 
    type: "POST", 
    url: "php/filteringscript.php", 
    data: {companies : jsonString1, 
      categories : jsonString2, 
      searchWord : searchWord 
      }, 
    cache: false, 

    success: function(data){ 
     alert(data); 
    } 
}); 

在PHP文件:

$companies = json_decode(stripslashes($_POST['companies'])); 
$categories = json_decode(stripslashes($_POST['categories'])); 
$searchWord = $_POST['$searchWord']));