В своем вопросе вы упомянули XMLHttpRequestModule
, который вы включили через тег script: <script type="text/javascript" src="XMLHttpRuquestModule.htm"></script>
.XMLHttpRuquestModule.htm
содержит орфографическую ошибку ('Ruquest' вместо 'Request'), возможно, это является причиной вашей ошибки.
Также обратите внимание, что включение htm-файла в скрипт будет работать только при наличии JavaScript вэтот файл и без фактического HTML.
РЕДАКТИРОВАТЬ:
Это со ссылкой на наш обмен в разделе комментариев.
Мне удалось получитьдержите сервер ASP.NET, запустили Ajax-код на странице ASPX точно так же, как у вас, и все по-прежнему в порядке.В окне предупреждения все еще отображается правильный ответ.
Разница в том, что, как и предполагалось изначально, я переименовал ваш XMLHttpRuquestModule.htm
в XMLHttpRuquestModule.js
и удалил из него всю разметку.
Я копирую весь код, попробуйте вставить его точно, а затем запустить:
HTML-файл (testXhr.htm):
<html>
<head>
<title></title>
<script type="text/javascript" src="XMLHttpRequestModule.js"></script>
<script type="text/javascript">
function helloToServer() {
var params = "name=" + encodeURIComponent(document.form.name.value);
sendRequest("Default.aspx", params, helloFromServer, "POST");
}
function helloFromServer() {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
alert("Response: " + httpRequest.responseText);
}
}
}
</script>
</head>
<body>
<form name ="form" runat="server">
<input type="text" name="name" />
<input type="button" value="enter" onclick="helloToServer()" />
</form>
</body>
</html>
JavaScript-файл (XMLHttpRequestModule.js):
var httpRequest = null;
function getXMLHttpRequest() {
if (window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (e1) {
return null;
}
}
} else if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return null;
}
}
function sendRequest(url, params, callback, method) {
httpRequest = getXMLHttpRequest();
var httpMethod = method ? method : 'GET';
if (httpMethod != 'GET' && httpMethod != 'POST') {
httpMethod = 'GET';
}
var httpParams = (params == null || params == '') ? null : params;
var httpUrl = url;
if (httpMethod == 'GET' && httpParams != null) {
httpUrl = httpUrl + "?" + httpParams;
}
httpRequest.open(httpMethod, httpUrl, true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.onreadystatechange = callback;
httpRequest.send(httpMethod == 'POST' ? httpParams : null);
}