Ты рядом. Похоже, вы используете пример из w3schools. Имейте в виду, что сайт не всегда самый надежный источник. См. http://w3fools.com/ для получения дополнительной информации.
Просмотрите их код снова, как он взят со страницы:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
Как видите, код "при успехе" находится в обработчике события onreadystatechange
. В вашем примере кода есть три проблемы: одна с тем, как вы передаете переменную, две с тем, как вы используете this
, и три с тем, что ваш обработчик ответа не будет работать должным образом.
var xmlhttp;
var var1 = 'testdata';
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
handleAjaxResponse(responseText);
}
xmlhttp.open("GET","ajax_info.php?var1="+var1,true);
xmlhttp.send();
function handleAjaxResponse(resp) {
document.getElementById("myDiv").innerHTML=resp;
}
В терминах this
это относится к текущей сфере исполнения, совершенно другому предмету. Это не переменная, которую вы передадите через AJAX.