我正在處理JavaScript中的一些遺留代碼,我遇到了一個問題,我無法解決。通過jQuery調用JS函數的麻煩ajax
當文檔第一次加載時,調用一個名爲addDecisionStateDetailsFields()
的JS函數。這種方法會生成附加到某個div
的HTML。 Ctrl C, Ctrl V
版本位於pastebin.
所以當文檔第一次加載時,我會得到所需的HTML。但在另一種情況下,我必須調用通過AJAX相同的功能,我不喜歡的東西:
function editSPDecision(decision){
$('#serviceProcedureAddDecision').css('display', 'none');
jQuery.ajax({
type:'POST',
data: { 'decisionId': decision.id, 'authorizationId': ${authorizationId} },
url:'../editDecision/${id}',
success: function(data,textStatus) {
jQuery('#serviceProcedureEditDecision').html(data);
},
complete: function(XMLHttpRequest,textStatus) {
attachDatePickerClasses();
addDecisionStateDetailsFields("spDecision_approve", "approveDiv", "Approve", "${ReviewerApproveReason.getValueCommaSeperated()}", "${ReviewerApproveReason.getNameCommaSeperated()}");
}
});
}
這裏,我調用與正確的PARAMS方法addDecisionStateDetailsFields()
。但在AJAX調用完成後,我無法將生成的HTML附加到頁面的HTML中。
爲了進行交叉檢查,我在該方法內部放置了一個alert
,並且在AJAX調用完成後,實際上調用該方法,只是生成的HTML不會附加到div
。有什麼我在這裏失蹤的東西?
是'success'回調實際上越來越叫什麼名字? –
是的......我可以證實這一點。 – rstarter
@iUngi我提醒'generatedStr'並使用Firebug我將生成的HTML插入到應該出現的div中,並且完美地適合它。但是,在正常的ajax調用之後無法獲得同樣的結果。我懷疑某事。這裏的.append()是錯誤的,但我不確定。 – rstarter