как из 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, время: 17:56. |