Я пытаюсь передать поле ввода, значения которого находятся в массиве, с некоторыми другими полями ввода в PHP, используя jquery-Ajax formData, все работает нормально, за исключением того, что у меня возникают проблемы с успешной передачей значений массива и я перепробовал много чего без видимого успеха.
Сначала я попробовал метод SerialiseArray (). Вот мой код ниже
<form>
//other input field below...
.
.
.
//this is the code to include my array which is in _categories-list.php
<div class="form-group">
<label for="artist">Select Categories </label>
<?php include('../_categories-list.php') ?>
</div> </form>
var Category = $('#categoriesList').serializeArray();
$.each( Category,function(i,field){
formData.append('categoriesList', field.value + "");
});
$('.msg').text('Uploading in progress...');
ajaxcall = $.ajax({
url: 'page-videoFunc.php',
data: formData,
processData: false,
contentType: false,
type: 'POST',});
Этот конкретный метод, который я использовал, отправляет только одно значение выбранных опций в массиве. Пример:
//output: let's say the person chooses blues, hip-hop
hip-hop //will be the only value sent
Я также попробовал другой метод, аналогичный
<form>
//other input field below...
.
.
.
//this is the code to include my array which is in _categories-list.php
<div class="form-group">
<label for="artist">Select Categories </label>
<?php include('../_categories-list.php') ?>
</div> </form>
var Category = $('#categoriesList').serializeArray();
formData.append('categoriesList', Category);//note that code changes here from the above method used
$('.msg').text('Uploading in progress...');
ajaxcall = $.ajax({
url: 'page-videoFunc.php',
data: formData,
processData: false,
contentType: false,
type: 'POST',});
Этот отправляет все значения массива, который выбран, но отправляет, но в качестве примера объекта:
//output
[object object] [object object]
И, наконец, я попробовал это: serialize ();
<form>
//other input field below...
.
.
.
//this is the code to include my array which is in _categories-list.php
<div class="form-group">
<label for="artist">Select Categories </label>
<?php include('../_categories-list.php') ?>
</div> </form>
var Category = $('#categoriesList').serialize(); //Note i used just serialize() here
formData.append('categoriesList', Category);
$('.msg').text('Uploading in progress...');
ajaxcall = $.ajax({
url: 'page-videoFunc.php',
data: formData,
processData: false,
contentType: false,
type: 'POST',});
Что частично работает и отправляет все значения, но в формате, который, как мне кажется, не позволяет получить значения, пример:
//output
categoriesList%5B%5D=blues&categoriesList%5B%5D=hip-hop
Я не знаю, как получить только значения из строк запроса в этом методе, чтобы я мог поместить его в базу данных
Пожалуйста, помогите мне найти решение для любого из вышеперечисленных методов, которые я использую, я работал над этим почти 42 часа, и это замедляет мой проект