に次のコードを書きましたhome.php
。login()
関数は、送信ボタンをクリックして呼び出されます。
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
表示されません。なぜですか?
【注意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