Не выводится переменная
<script> $(".loads").on("click", function(){ $.ajax({ type: "POST", url: "js/addImgbig.php", success: function(newImg){ arrayId = newImg.id.split(","); for (var i = 0; i < arrayId.length; i++) { $.ajax({ type: "POST", data: "oneId="+arrayId[i], url: "js/comentshow.php", success: function(comments){ console.log("test1", test); var test = comments.id; } }); console.log("test2", test); } } }); }); </script> Есть два ajax запроса. Второй вложенный в цикле первого. Подскажите пожалуйста как мне вывести переменную из второго ajax в первый? test1 - работает, test2 - нет. |
Запрос выполняется асинхронно. Браузер не ждет ответа от сервера, он сразу продолжает выполнение кода.
|
Erolast,
Т.е. я не смогу получить comments.id в запросе ниже? |
<script> $(".loads").on("click", function(){ $.ajax({ type: "POST", url: "js/addImgbig.php", success: function(newImg){ arrayId = newImg.id.split(","); for (var i = 0; i < arrayId.length; i++) { $.ajax({ type: "POST", data: "oneId="+arrayId[i], url: "js/comentshow.php", success: function(comments){ console.log("test1", test); var test = comments.id; console.log("test2", test); } }); } } }); }); </script> |
Можно еще выполнять запрос синхронно:
$.ajax({ async: false }); Но при этом заблокируются любые действия со страницей на время выполнения запроса. Использовать такой способ приемлимо только на этапе инициализации, и то не всегда. |
Часовой пояс GMT +3, время: 07:11. |