мне нужно вернуть значение из AJAX, но он заполнил 0 каждый раз, и не ждать, пока процесс АЯКС закончил var itemId=0;
как глобальное значениемне нужно вернуть значение из AJAX
getitemIDbyProductID(productId,getitemIDbyProductID_success);
alert(itemID + "itemgeted")
Я сделал это
function getitemIDbyProductID(productId, callback) {
$.ajax({
type: "POST",
url: "Cot.aspx/getitemIDbyProductID",
data: JSON.stringify({ productId: productId }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var value = 0;
value = JSON.parse(result.d);
itemID=callback(value)
callback(value);
},
error: function (msg) { }
});
}
function getitemIDbyProductID_success(total_percentage) {
alert(total_percentage +"fds"+itemID);
}
но не ждать Аякса закончена, и дает мне Itemid = undefiend
Это просто безнадежно, пытаясь получить значение itemId :(, что мне делать? –
Я предположил, что это заголовок дубликата [Как вернуть ответ от асинхронного вызова?] (Http: // stackoverflow.com/questions/14220321/how-do-return-the-response-from-an-asynchronous-call) (я все еще думаю, что это может быть), но мне трудно понять, какова ваша точная проблема, так как вы 't 'return' ничего, и вы, кажется, используете обратный вызов, но вы используете * * устанавливаете * значение * внутри * свою функцию успеха Ajax (?) вместо того, чтобы передавать значение из нее. – apsillers