Я пытаюсь передать массив javascript в массив php, и для этого я использовал следующий код в своем файле php:
var rowArr=[];
var currow=$(this.closest('tr'));
var col1=currow.find('td:eq(0)').text();
rowArr.push(col1);
var col2=currow.find('td:eq(1)').text();
rowArr.push(col2);
var col3=currow.find('td:eq(2)').text();
rowArr.push(col3);
var myJSONText = JSON.stringify( rowArr );
$.ajax({
type: "POST",
url: "jsonRecieve.php",
data: { emps : myJSONText},
success: function() {
alert("Success");
}
});
поэтому, когда я запускаю этот код, я получаю предупреждение об успехе, но я не вижу распечатываемых элементов массива. Я также не получаю никаких сообщений об ошибках. Вот мой jsonRecieve.php:
<?php
$rowAr=$_POST['emps'];
print_r($rowAr);
?>
есть ли способ проверить, что он был передан? Я не верю, что это так, но если это не так, кто-нибудь может помочь?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Кажется, вам нужно декодировать строку json с помощью json_decode(), чтобы получить значение emps на стороне сервера и предупредить ответ сервера о необходимости отправить что-то с сервера. Давайте отлаживать этот путь-
НА JS
$.ajax({
type: "POST",
url: "jsonRecieve.php",
data: { emps : myJSONText},
success: function(data) {
alert(data); // alert your data to see that returns from server
}
НА PHP
<?php
$rowAr=$_POST['emps'];
$array = json_decode($rowAr,1); // 2nd params 1 means decode as an array
print_r($array);
die('response from the server');
?>
а также в функции ajax под URL-адресом, вам нужно отправить его в отдельный файл php или вы можете отправить его в том же файле?
Да, вы можете получить входные значения формы с помощью serializeArray, прежде чем передавать их в свой php-файл, посмотрите здесь gomakethings.com/getting-an-array-of-form-data-with-vanilla-js, также этот файл может выполнять вашу работу. Нет необходимости использовать другой файл php
нет, я имею в виду, что id хотел бы использовать массив javascript, который был преобразован в php, для использования в качестве заполнителей для формы. Как я это сделаю?
так что я получил его для печати с вашими правками, спасибо. Но когда это происходит, значит ли это, что массив теперь сохраняется в $_POST['emps']? потому что я хочу заполнить поля ввода форм информацией о массивах в php, и когда я пытаюсь инициализировать массив в моем php-файле с помощью $_POST['emps'], он говорит, что это неопределенный индекс