AJAX 応答が完了したときに関数をトリガーするにはどうすればよいですか?
ドロップダウンを変更すると、次のmanageImagesDynamicObjectDetails
関数が呼び出されます。
<select id="imageComponentSelection" name="imageComponentSelection" onchange="manageImagesDynamicObjectDetails()">
この関数は、この AJAX 呼び出しに関連する変数を関数に渡しますmakeRequests
。
function manageImagesDynamicObjectDetails(){
var sendContent = "selection=".concat(document.getElementById('imageComponentSelection').value);
var fileName = "RetrieveObjectsInformation";
var elementId = "objectData";
if(sendContent != "Select a class to view components"){
makeRequest(fileName,sendContent,elementId);
}
}
makeRequest
すべての AJAX 呼び出しに対して呼び出され、それらを適切に処理する関数です。
function makeRequest(fileName,sendContent,elementId) {
var xmlHttpRequest = getXMLHttpRequest();
xmlHttpRequest.onreadystatechange = getReadyStateHandler(xmlHttpRequest,elementId);
xmlHttpRequest.open("POST", fileName, true);
xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttpRequest.send(sendContent);
}
Speicif AJAX 呼び出しが完了したら、resizeObjectList 関数を呼び出したいと思います。
function resizeObjectList(){
var windowHeight = $('#contentWrapper').height();
var newObjectListHeight = windowHeight - 53 - 20 - 20 - 60;
var element = document.getElementById("componentObjectList");
if (typeof(element) != 'undefined' && element != null){
document.getElementById("componentObjectList").style.height = newObjectListHeight;
}
}
どうすればいいですか?試してみましajaxComplete
たajaxStop
が、それらをトリガーすることができませんでした。