我正在研究一个网页,其中包含一个提示用户输入他/她的电子邮件地址的弹出窗口。数据应该在提交后上传到数据库。使用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