제 신청서에는 각 공급 업체 앞의 확인란과 함께 공급 업체를 나열하는 jQuery 팝업 창이 있습니다. 그런 다음 사용자는 각 공급 업체의 확인란 중 하나를 선택하고 삭제 버튼을 눌러 공급 업체를 삭제할 수 있습니다. 그러나 사용자가 삭제 버튼을 클릭하면 Ajax 호출이 서버 측으로 올바르게 전송되고 서버 측에서 올바르게 삭제됩니다 (삭제 된 공급자는 더 이상 목록에 표시되지 않습니다). 사용자가 다시 한번 동일한 작업을 수행하면 팝업 창이 두 개의 Ajax 요청을 서버 측에 보냈다. 사용자가 세 번째 시간을 클릭하면 팝업 창에서 ajax 요청을 세 번 반복합니다.사용자가 팝업 양식을 제출하면 복수의 ajax 호출이 전송됩니다.
var ajaxURL = getFormAction('crm.web.SupplierManager',
'deleteSupplierRequestAjax');
$("#deleteBtnId").click(function(event) {
$("#supplierDeleteConfirmDivId").dialog("open");
$("#supplierPopupCancelBtnId").click(function(event) {
$("#supplierDeleteConfirmDivId").dialog("close");
event.preventDefault();
});
$("#supplierPopupOkBtnId").click(function(event) {
$("#supplierDeleteConfirmDivId").dialog("close");
$("#supplierPopupOkBtnId").mask("Waiting...");
$.ajax({
type: 'POST',
data: $("#formId").serialize(),
url: ajaxURL,
success: function (data) {
$("#supplierPopupOkBtnId").html(data);
$("#supplierPopupOkBtnId").unmask();
},
error: function(jQXHR, textStatus, errorThrown) {
$("#supplierPopupOkBtnId").unmask();
handleAjaxError(jQXHR, textStatus, errorThrown);
}
});
});
event.preventDefault();
});
나를 위해, 그것은 사용자가 삭제 버튼을 클릭 할 때마다 팝업 창에 누적 된 형태로 보입니다. 나는 그것이 진짜 이유인지 확신하지 못한다. 나는 $("#formId").serialize()
을 짐작하고있다. 누구나 다른 아이디어가 있습니까? 와
async : false, –
사용하지 마세요. 'async : false'를 사용하지 마십시오. 더 이상 사용되지 않습니다. 비동기 코드가 필요하면'약속'을보십시오. – Zenoo
@ Zenoo 감사합니다. 어떻게 생각하세요? – nwGCham