Я новичок в PHP и Ajax, поэтому, пожалуйста, несите меня. Я обыскал и нашел ответы, но все еще испытываю проблемы. У меня есть массив входных значений флажков. Если пользователь проверяет элемент, он добавляется в список массивов. Примером может служить:Массив Ajax возвращает только 1 значение?
listOfPrograms = [chrome, firefox, sqlworkbench]
Я хочу отправить этот список массивов скрипту PHP на моем сервере. Мой текущий сценарий Ajax выглядит следующим образом:
function ajaxPostToPhp(listOfPorgrams)
{
$.ajax
({
url: 'script.php',
type: 'post',
data: ("listOfPrograms" : listOfPrograms), // I believe this is where my issues lies as I do not know exactly that this is doing. I have read the PHP documentation. I tried converting to JSON and kept getting a 500 error.
success: function(data)
{
console.log(data);
}
});
}
Мой PHP скрипт как folllows:
$myArray = $_Request['listOfPrograms'];
echo $myArray;
Это возвращает только один элемент из массива. Я попытался установить myArray = [], но я получил неопределенный индекс.
Благодарим за помощь! Извините за такой вопрос.
Кроме того, в файле PHP, вы должны использовать 'эхо json_encode ($ туАггау);' – dan08
Отлично! Я пробовал это, и он работает. Два вопроса: (1) что такое «listOfPrograms»: JSON.stringify (listOfPrograms) на самом деле? Он преобразует массив в формат JSON ... тогда что? (2) Почему listOfPrograms должен быть в кавычках? Кроме того, он возвращает «[\" chrome \ ", \" firefox \ "]" не как отдельные элементы, а как символы. Например, myArray [2] = "c". Я хотел бы иметь возможность вытащить каждый элемент «хром» и «firefox», чтобы сделать некоторые манипуляции. – BearForceOne
(1) Что вы имеете в виду? Он просто преобразует массив в строку JSON. (2) являются переменными 'chrome',' firefox' или вы хотите передать текст? Если вы хотите передать текст, вам нужны '' 'quotes. (3)' Я хотел бы иметь возможность вытаскивать каждый элемент '- В php? – ByteHamster