jquery数组的复选框未发送到php文件

时间:2010-02-28 15:15:07

标签: php javascript jquery ajax

从复选框中收集值:

var filtersArray = $("input[@name='filters']:checked").map(function(i,n){
                        return $(n).val();
                    }).get();

发布到php文件

$.post("php/performSearch.php", {
     keywords: $('#keywords').val(), 
     'filters[]': filtersArray}, 
     function(data){
         //alert(data);
     });

无论我做什么,Php都不会得到阵列 我有:

$postedKeywords = $_POST['keywords'];
$postedFilters = $_POST['filters[]'];

关键字已过帐,过滤器[]未过帐。我试过print_r ....没有结果..

我试过了:

foreach($_POST as $val)
    echo $val;

我得到了$ _POST ['keywords']和$ _POST ['filters']的数组所以它被发送了但是由于某种原因我不能使用这些值。

2 个答案:

答案 0 :(得分:2)

你试过了吗?

$.post(
    'php/performSearch.php', {
        keywords: $('#keywords').val(), 
        filters: filtersArray
    }, 
    function(data) {

    }
);

这将发送一个可能如下所示的POST请求:

filters[]=1&filters[]=2

答案 1 :(得分:0)

使用此:

$.post("php/performSearch.php", {
     keywords: $('#keywords').val(), 
     'filters\[\]': filtersArray}, 
     function(data){
         //alert(data);
     });

或者尝试一下:

$.post("php/performSearch.php", {
     keywords: $('#keywords').val(), 
     filters: filtersArray}, 
     function(data){
         //alert(data);
     });

要进入php,请不要使用[],只需使用:

$postedKeywords = $_POST['keywords'];
$postedFilters = $_POST['filters'];