Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Обработка массива (https://javascript.ru/forum/jquery/65492-obrabotka-massiva.html)

serj0110 22.10.2016 10:04

Из AJAX в PHP и обратно
 
Доброго времени суток, возникла проблема с обработкой массива в ajax, если пытаюсь его обработать, то в ответ получаю, либо пустой элемент, либо undefined, или null. Нужна помощь, как можно в success:function () обработать $data_option?
function editText() {
	$(".edit").on("click", function () {
		var id = this.id;
		$.ajax({
			type: "post",
			url: "../php/ajax.php",
			data: {"option":"1", "id":id},
			success:function () {
				//Здесь должен быть код обработки массива
			}
		});
	});
}

if ( isset($_POST["option"]) ) {
	$id = $_POST["id"];
	$query_option = ("SELECT * FROM `table` WHERE id = '$id' ");
	$result_option = $handle -> query($query_option);
	$data_option = $result_option -> fetch_assoc();
	return json_encode($data_option);
}

serj0110 22.10.2016 10:12

То есть, по нажатию на элемент, идёт отправка его id в ajax.php, по id получаю необходимые данные, после эти данные преобразую в json, а после хочу вывести эти данные в success:function () через alert, а проблема в том, что не могу разобраться.

рони 22.10.2016 10:12

serj0110,

success:function (arr) {
      arr.forEach()
    }

рони 22.10.2016 10:32

Цитата:

Сообщение от serj0110
Не работает, arr пустой, может я как то не так отправляю?

ждите php специалиста

laimas 22.10.2016 13:19

data: {"option":"1", "id":id}, - и этого достаточно, так как на сервере с тем же успехом можно проверять пришло ли $_POST['id']

$query_option = ("SELECT * FROM `table` WHERE id = '$id' "); скобки здесь лишние, а вот и $id не обязательно в кавычки, коли это число, а вот это (int)$id обязательно.

return json_encode($data_option); - кому?

Если ajax.php обрабатывает только этот запрос и код его - пришел запрос клиента, получили данные, отправили, то:

if($id = (int)$_POST["id"]) {
    $query_option = "SELECT * FROM `table` WHERE id = " . $id;
    $result_option = $handle->query($query_option)->fetch_assoc();
    echo json_encode($result_option);
}


Часовой пояс GMT +3, время: 19:24.