Каким способом можно запустить alert после того как функции вернут ответ ? Код (Javascript): function Test1() { $.ajax({ url: '../handler/check.php', data: 'test', type: 'post', dataType: 'json', success: function(data) { error = data; // возвращает true } }); } function Test2() { $.ajax({ url: '../handler/check.php', data: 'test', type: 'post', dataType: 'json', success: function(data) { error = data; // возвращает true } }); } $(document).ready(function() { $('#form').submit(function(e) { e.preventDefault(); error = false; Test1(); Test2(); alert(error); // в данный момент возвращает false а нужно true }); });
Асинхронно - никак, ибо асинхронность это не синхронное выполнение хотите просто alert - суйте его в функции success хотите как результат функции - отключайте асинхронность в параметрах Код (Text): async : false,
Есть способ, ща пороюсь в загашнике) --- Добавлено --- Код (Javascript): $(function(){ getData (); }); function getData (){ var array = []; var a = $.getJSON('index', function(data) { data = data.toString().split(';'); array[0] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}]; }), b = $.getJSON('index2', function(data) { data = data.toString().split(';'); array[1] = [{name1: data[1], name2: +data[2]},{name1: data[10], name2: +data[11]}]; }); $.when(a, b).then(function() {createData(array);}) } function createData(data){ //data массив после получения данных; }; Это был мой пример, просто подстрой под себя. Времени нет переделывать
@ADSoft да ему error надо вывести. Если был в любом из запросов. --- Добавлено --- Код (Javascript): $(function(){ getData (); }); function getData (){ var error = false; var a = $.getJSON('index', function(data) { error = data; }), b = $.getJSON('index2', function(data) { error = data; }); $.when(a, b).then(function() {createData(error);}) } function createData(data){ alert(data); };