У меня есть две функции, в первой функции есть ajax-вызов, поэтому я хочу, чтобы вторая функция выполнялась после вызова ajax (здесь я перезагружаю страницу), можете ли вы, пожалуйста, Помоги мне?
Вот код нижеКак выполнить функцию после завершения вызова Ajax
<div id="exapnd_or_collapse_div" class="exapnd_or_collapse_div" onclick="changeLayout();">
<script>
function changeLayout() {
alert('change layout');
try {
jQuery.ajax({
url:'<%=resourceURL.toString()%>',
dataType: "text",
data:{
<portlet:namespace />cmd:'changeLayout'
},
error: function(){
alert("AJAXError");
},
type: "post",
success: function(data) {
if("success" == data) {
location.reload();
}
}
}).done(function(){
exapndCollapse();
});
} catch(e) {
alert('waiting: ' + e);
}
};
function expandCollapse() {
jQuery("div.Search_Styled-dropDown").css("display", "none");
jQuery("span.menu-text").css("display", "none");
jQuery("ul.Common_ul").css("display", "none");
jQuery("img.module_images").css("width", "25px");
jQuery("img.module_images").css("margin-top", "20px");
jQuery("img.module_images").css("height", "21px");
jQuery("#search_box").css("display", "none");
jQuery("#Escaped_toggle").css("margin-right", "94%");
}
</script>
location.reload(); в успешной перезагрузке страницы без вызова вашей функции –
после перезагрузки только я хочу вызвать expandCollapse(); – PVBRaju
, если вы перезагрузите страницу, то вы не сможете получить запрос ajax. перезагрузка страницы не приведет к сбою события ajax complete. –