Я пытаюсь передать массив флажков в вызов AJAX для формы поиска, над которой я работаю:
HTML:
<form id="searchForm">
<input type="checkbox" class="typesSearch" name="types[]" value="Fundraiser" checked /> Fundraiser<br>
<input type="checkbox" class="typesSearch" name="types[]" value="Conference" checked /> Conference<br>
</form>
JavaScript:
var types = [];
var eventTypes = document.forms['searchForm'].elements[ 'types[]' ];
for (var i=0, len=eventTypes.length; i<len; i++) {
if (eventTypes[i].checked ) {
types.push($(eventTypes[i]).val());
}
}
$.ajax({
url: "https://www.example.com/search.php",
method: "post",
data:{
eventname: eventname,
types: types
},
dataType:"text",
success:function(data)
{
$('#eventsList').html(data);
$('#eventsList').slick($opts);
}
});
PHP:
$event_types = $_POST['types'];
Массив типов работает хорошо на стороне javascript, но когда он попадает на сторону PHP, $ _POST ['types'] читается как пустое.
Почему $ _POST ['types'] читается как пустое? Есть ли что-то в вызове AJAX, где мне нужно определить, что я передаю массив вместо строки?