次のような ajax 呼び出しがありました。
$("#loginForm").submit(function(e){
$.ajax({
type:'POST',
url:'login.php',
data: $("#loginForm").serialize();
success: function(data){
if(data=="1"){
$("#message").html('<span class="gmessage">You are already logged in!</span>');
}
else if(data=="2"){
$("#message").html('<span class="gmessage">You have been logged in!</span><br/>'
'<span class="bmessage">You will be redirected in 10 seconds</span>');
$("#message").fadeOut(1000, function(){
window.location = <?php echo $_SESSION['ref'];?>;
});
}
else if(data=="3"){
$("#message").html('<span class="rmessage">The password you entered was incorrect</span>');
}
else if(data=="4"){
$("#message").html('<span class="rmessage">That account does not exist, you may need to register for an account</span>');
}
else{
$("#message").html('<span class="rmessage">There was an error: please try again</span>');
}
}
});
e.preventDefault();
});
php はテスト済みで、スパン内のメッセージに従って期待どおりに動作しますが、この ajax 呼び出しが実行されてもメッセージは表示されません。対応する html は次のとおりです。
<tr>
<td id="message" name="message" colspan="2"></td>
</tr>
<tr>
<td colspan="2" style="height:50px">
<center>
<input type="submit" name="submit" id="submit" value="Login!" style="font-family: arial;font-size:14pt;"/><br/><br/>
<span class="registerSpan">Don't have an account?:</span><br/><br/>
<input type="button" onClick="parent.location='createacct.php'" style="font-family:arial; font-size:14pt;" value="Register"/>
</center>
</td>
</tr>
これが機能しない理由は何ですか?別の関連する質問: ajax はこれを処理する最良の方法ですか?