как из ajax вернуть переменную
Всем добра)!
Прошу помощи! есть такой кусочек кода var response = []; function ajaxRequest() { var block = ("autocomplete_job"); //alert("ajaxRequest"); $.ajax({ type: "POST", url: "php/zn-edit_controller.php", //async:false, data:({ZNID:ZNID, block:block}), /* прочие настройки */ success: function (data) { response = data.split("~"); //alert(response); } }); return response; } var something = ajaxRequest(); alert(something); если async:true, то alert пустой а если async:false, то все гуд! вопрос как вывести массив из ajax при async:true (в асинхронном режиме)?! Заранее спасибо! |
function ajaxRequest(callback) { var block = ("autocomplete_job"); //alert("ajaxRequest"); $.ajax({ type: "POST", url: "php/zn-edit_controller.php", //async:false, data: ({ ZNID: ZNID, block: block }), /* прочие настройки */ success: function(data) { response = data.split("~"); callback(response); } }); return response; }; ajaxRequest(function(response){ alert(response); }); |
Спасибо!
|
Nexus,
А чем ваш вариант отличается от success: function(data) { response = data.split("~"); alert(response); } ??? |
Dilettante_Pro, тем, что ваш вариант подразумевает выполнение какого-то определенного действия. Т.е. если я дважды вызову функцию "ajaxRequest", то дважды получу 1 результат.
В случае с callback'ом я могу по завершению запроса выполнить различные действия без переопределения функции. Тс наверняка не спроста закомментировал строку №13. |
[quote=Nexus]
Цитата:
Цитата:
|
Dilettante_Pro,
Цитата:
|
в пердложенном варианте alert(something); выдает ответ
т.е. переменной присвоен массив ( чего я хотел), с синхронным кодом все проще)))) к стати вопрос еще один))) function fn_list(callback){ $.ajax({ type: "POST", url: "php/zn-edit_controller.php", data:({ZNID:ZNID, block:block}), success: function (data) { //$('#show_otladka').data(data) //alert(data); callback(data); } }); //return data; }; fn_list(function(data){ //alert("ZNID" + ZNID + "block" + block); $('#show_otladka').html(data) }); как при вызове fn_list передать ей переменные ZNID и block Заранее спасибо! |
Функция
function fn_list(block, ZNID, callback){... Вызов fn_list(block, ZNID, function(data){... вроде работает!) |
Часовой пояс GMT +3, время: 12:41. |