以下代码有什么问题?
警报返回成功,但表中没有添加任何内容。表格:
<form id="Form_1" name="theform" method="post" action="">
<label for="email" class="emailLab">Email * </label>
<input type="email" name="email" id="email_id" autocorrect placeholder="Email" value="" />
<label for="phone">Phone </label>
<input type="tel" name="phone" id="phone_id" autocorrect placeholder="Phone" />
<input type="image" src="images/btn_enter.png" height="26" width="147" id="submit" data-inline="true" data-role="none" />
</form>
在提交时我调用此函数:
function serverDB (){
// Define variables from input
var vEmail = document.getElementById('email_id').value;
var vPhone = document.getElementById('phone_id').value;
var theData = 'email=' + vEmail + '&phone=' +vPhone;
alert (theData);
$.ajax({
type: "POST",
url: "process.php",
data: theData,
success: function(){
alert ("Success");
}
});
}
PHP代码:
<?
$email = $_POST['email'];
$phone = $_POST['phone'];
mysql_connect("host", "user", "password") or die(mysql_error());
mysql_select_db("sandbox_itouch") or die(mysql_error());
mysql_query("INSERT INTO `data` (email, phone) VALUES ('$email','$phone')");
?>
答案 0 :(得分:1)
在“&amp; phone”之后,你在这一行上错过了一个'=':
var theData = 'email=' + vEmail + '&phone' +vPhone;
这可能是一个错字。
答案 1 :(得分:1)
检查$ _POST值是否到达您的脚本,并且您的MySQL连接是否按预期工作,并且您的列和表名称与数据库匹配。
您可以创建这样的日志
$fh = fopen('log.txt', 'w');
fwrite($fh, print_r($_POST, true));
fclose($fh);
如果未创建log.txt,您将知道该脚本未被执行。
答案 2 :(得分:0)
向您的代码添加日志记录,以查看您的服务器端脚本是否正在运行,获取的距离,获取的数据以及它看到的错误。
答案 3 :(得分:0)
尝试将数据类型更改为JSON或在发布时明确指定数据类型:
var theData = '{ email:' + vEmail + ', phone:' + vPhone + '}' ;
$.ajax({
type: "POST",
url: "process.php",
data: theData,
success: function(){
alert ("Success");
$().innerHTML =
}
});