Как передать массив в js из php и вызывать функцию столько, сколько результатов в массиве?

Здравствуйте Есть массив, который преобразую через foreach. Допустим есть массив данных с 10 записями и есть js

function updateInfo()
{
        $.ajax({
          type: "POST",
          url: "/send.php",
         data: {"url":"<?php  echo $flink; ?>","catid":"<?php echo $catid; ?>"},
         success: function(data){
            $('#content').html(data);
         }
      });

Мне нужно эти данные передать (каждый по очереди в другой php файл через js. Как устроить ? И желательно, чтобы следующие данные отправлялись только после получения ответа на предыдущий запрос.
  • Вопрос задан
  • 1113 просмотров
Пригласить эксперта
Ответы на вопрос 3
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Примерно так

function updateInfo () {
	$.ajax({
		type: 'post',
		url: '...',
		data: '...',
		dataType: 'json'
	}).done(function (data) {
		send();

		function send () {
			var row = data.splice(0, 1);

			if (row.length) {
				$.ajax({
					type: 'post',
					url: '...',
					data: row[0]
				}).done(send);
			} else {
				console.log('Done');
			}
		}
	});
}
Ответ написан
@ambrous
Для передачи массива из php в js добавь в параметрах ajax запроса:

dataType: 'json'

а в send.php:

echo json_encode($arr);

В итоге твой массив попадет в переменную data.

Чтобы поочереди в другой php файл данные передать, делаешь еще один ajax запрос в функции

success: function(data){
$('#content').html(data);
}
Ответ написан
Комментировать
archakov06
@archakov06
Frontend-разработчик (ReactJS)
Вчера такое потребовалось. Я юзал такую функцию:
JSON.stringify({ 'attach': attach })

Отправляете в таком виде, а PHP скрипт может ее декодировать и дальше с ней работать. Ну и можно так же работать с этим значением с JS, без декодирования.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы