我正在研究一個網頁,其中包含一個提示用戶輸入他/她的電子郵件地址的彈出窗口。數據應該在提交後上傳到數據庫。使用Ajax,PHP和jQuery提交表單
但是,電子郵件地址沒有上傳到數據庫,我不知道爲什麼。數據庫連接肯定已建立,並且不會產生錯誤消息。
我是使用AJAX/jQuery的真正初學者。
內部的index.php:
<form form id="email_submit" action="insert.php" method="post" target="_top">
<label>Email Address</label>
<input type="text" name = "emailaddress" />
<input type="submit" value="Add Email" onClick="send_data_to_server()">
</form>
內部insert.php:
$username = "root";
$password = "root";
$hostname = "localhost";
$database = "emails";
$dbhandle = mysql_connect($hostname, $username, $password)
or die("0");
echo "Connected to MySQL <br>";
$selected = mysql_select_db("emails", $dbhandle)
or die("0");
echo "connected to db <br>";
$youremail = $mysqli->real_escape_string($_POST["emailaddress"]);
echo "$youremail";
mysql_query("INSERT INTO email_table (emailAddress) VALUES ('$youremail')");
echo json_encode($youremail);
的AJAX腳本(放置在索引頁主體的端部):
function send_data_to_server() {
$("email_submit").submit(function (ev) {
ev.preventDefault();
$.ajax({
type : 'POST',
url : "insert.php",
data : { "formData" : $("#email_submit").serialize() },
datatype : 'html',
success: function(data) {
alert(data);
}
});
});
}
網頁上的輸出:
Connected to MySQL
connected to db
任何幫助表示讚賞。
1)僅是你的問題,放在哪裏Ajax的功能? 2)您是否嘗試將其添加到頁面末尾的腳本標記中? 3)你有什麼錯誤嗎? –
你在某處聲明'formData'嗎? – Stryner
不知道在哪裏放置函數只是一個問題,我確實把它放在頁面末尾的腳本標記中。 – CarlyQ