POSTメソッドを使用してajaxXMLHttpRequestを送信しています。リクエストが送信されると、ステータスが12030のreadyStateが4になります。12030は、接続が維持されなかったことを示すMicrosoft固有の状態コードであることがわかります。ただし、コードがこのエラーの原因となっている場所を見つけることができないようです。ajaxリクエストを使用せずにページに移動すると、正常に読み込まれます。以下は、javascriptメソッドと呼び出し行です。
AJAXメソッド
/*Sends ajax request with post data that updates the content view via ajax on completion
* @param message : message after completion of ajax request
* @param url : url to request
* @param params : post parameters as string
*/
function changeAjaxPost(message, url, params) {
var ajx;
if (window.HXMLHttpRequest) {
UtilLogger.log(HtmlLogger.FINE, "Using XMLHttpRequest");
ajx = new XMLHttpRequest();
}
else {
UtilLogger.log(HtmlLogger.FINE, "Using ActiveXObject");
ajx = new ActiveXObject("Microsoft.XMLHTTP");
}
ajx.open("POST", url, true);
ajx.setRequestHeader("X-Requested-With", "XMLHttpRequest");
ajx.setRequestHeader("Content-Type", "text/html");
ajx.setRequestHeader("Content-length", params.length);
ajx.setRequestHeader("Connection", "close");
ajx.send(params);
ajx.onreadystatechange = function () {
document.write(ajx.readyState + ":" + ajx.status);
if (ajx.readyState == 4 && ajx.status == 200) {
alert(message);
updateContent();
}
else if (ajx.readyState == 4 && ajx.status == 400) {
alert("Page Error. Please refresh and try again.");
}
else if (ajx.readyState == 4 && ajx.status == 500) {
alert("Server Error. Please refresh and try again.");
}
}
}
コールライン
changeAjaxPost("Excerpt Saved", "./AJAX/myadditions_content.aspx", params);