我不知道我的代碼有什麼問題,但我的AJAX不起作用。我已經包含了jQuery庫文件,但是當我調用AJAX時,程序不會加載PHP文件。正如你在下面看到的,.ajax調用有一個「mail.php」的URL,但是在提交時,這個文件從不加載。我可以手動將表單的動作標籤命名爲「mail.php」,但只是加載了「mail.php」,這打破了AJAX的觀點。我究竟做錯了什麼?AJAX沒有得到應用形式
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form method="post" name="myForm" action="tac.php">
<label>Name:</label> <br />
<input name="sender">
<br /> <br />
<label>Email address:</label><br />
<input name="senderEmail">
<br />
<label>Message:</label> <br />
<textarea rows="5" cols="20" name="message"></textarea>
<br /> <br />
<input type="submit" name="submit">
</form>
<script>
$(document).ready(function() {
$("#myForm").submit(function() {
var roy = new Object();
roy.sender = $('#sender').val();
roy.senderEmail = $('#senderEmail').val();
roy.message = $('#message').val();
var jo = JSON.stringify(roy);
$.ajax({
type: "POST",
url: "mail.php",
data: {roy: jo},
success: function(msg){
alert(msg);
}
});
return false;
});
});
</script>
'動作=「tac.php」'和'網址:「mail.php」' - 衝突? – 2014-08-30 16:53:03
使用F12鍵打開控制檯,看看你得到了什麼錯誤,如果有的話。 – 2014-08-30 16:55:03
@ Fred-ii- .ajax應該覆蓋表單的動作url,即使我將「tac.php」更改爲「 mail.php「,它仍然不會像AJAX那樣處理幕後的表單。 – 2014-08-30 16:59:17