Не выводится переменная
<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, время: 15:23. |