У меня есть некоторый код, который вызывается, и он проходит через начало моего $ .ajax (). Мне нужно это, чтобы пройти через весь мой метод, прежде чем он выйдет и перейдет к следующей части, потому что он не составлен должным образом, пока он проходит весь путь до конца. В настоящее время он запускается, а затем выходит из режима пропуска моего отсрочки и переходит в условие if (woimageindex> = 0)
Вот мой код, который у меня есть. Мне нужно, чтобы (woimageindex == -1) запускался и проходил через defer.done (function () {но он пропускает все в этом разделе. Как я могу сделать это, прежде чем двигаться дальше?
if (woimageindex == -1)//item not found
{
var ajaxRequests = [];
url = rootPath + "utility/GetWebRequestImages";
ajaxRequests.push($.ajax({
type: 'POST',
url: url,
data: {
corp_id: WOCorp_id
},
dataType: 'json'
}));
var defer = $.when.apply($, ajaxRequests);
defer.done(function () {
// This is executed only after every ajax request has been completed
$.each(arguments, function (index, responseData) {
switch (index) {
case 0://status
//populate the AutoCompleteDataSource with the data from server
arrWOWebRequestImagesList.push(new PickListModel(WOCorp_id, responseData));
woimageindex = arrWOWebRequestImagesList.length - 1;
break;
}
//alert(index);
});//end of switch
});//end of defer
}
if (woimageindex >= 0)
{
var categories = arrWOWebRequestImagesList[woimageindex].list;
alert(categories.length);
var list = [];
// added new PickListModel(webimage_id, after .push(
//list.push(new PickListModel(webimage_id, $.map(arrWOWebRequestImagesList[woimageindex].list, function (item) {
list.push( $.map(arrWOWebRequestImagesList[woimageindex].list, function (item) {
return new PickListItem(item.caption, item.caption, item.webimage_id);
}));