Я написал следующий код в своем home.php
. Функция login()
вызывается нажатием кнопки отправки.Нужна помощь, чтобы поймать ответ AJAX
function login()
{
try{
xmlHttp=new XMLHttpRequest();
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e3){
alert('Sorry ! AJAX not supported');
}
}
}
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
alert(xmlHttp.responseText);
}
}
xmlHttp.open('POST','ajax_call.php',true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlHttp.send(document.getElementById('username').value,document.getElementById('password').value);
}
</script>
Мой ajax_call.php сценарий просто
<?
echo 'hello';
?>
Я не получаю предупреждение Hello
.Why?
[Я пытался предупредить readyState
и status
xmlHttp.onreadystatechange=function(){
alert(xmlHttp.readyState+" "+xmlHttp.status);
if(xmlHttp.readyState==4&&xmlHttp.status==200){
alert(xmlHttp.responseText);
}
}
и получили следующие последовательно
1 0
2 200
3 200
4 200
hello
1 0
hello
попробуйте удалить аргументы из xmlHttp.send() – bugwheels94
@Ankit: Пытался, но не помогло –
Так ммм ... Разве это не значит, что ваш «Hello» показывает вверх? Это то, что должно произойти, каждый раз, когда что-то изменяется в запросе, вы получаете обновление, оно переходит от 1 200 (отправка, код состояния) до 2 200 (получено, состояние ОК) до конца 4 200 (готов с запросом, состояние ОК) и после этого вы видите «Привет», вы хотите ... Правильно? –