JQuery массив флажок не отправляется в файл PHP - PullRequest
1 голос
/ 28 февраля 2010

, чтобы получить значение из флажков:

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 ['keys'] и массив для $ _POST ['filters']. Итак, оно отправлено, но по какой-то причине я не могу использовать значения.

Ответы [ 2 ]

2 голосов
/ 28 февраля 2010

Вы пробовали:

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

    }
);

Это отправит запрос POST, который может выглядеть следующим образом:

filters[]=1&filters[]=2
0 голосов
/ 28 февраля 2010

Используйте это:

$.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'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...