我在前端使用jQuery,在后端使用php。我有一些我修复过的原始问题。但现在我填写表格(注册)但数据库正在更新,甚至没有空行。在我在db中获得一些空行之前(我确信这一点,那天我的内存有点朦胧!抱歉!)我无法找到任何问题,因为错误或成功消息没有在jQuery文件中被点击。我尝试http://localhost/signup.php并在连接到db时显示成功消息。所以我确信它连接到正确的数据库。我也尝试使用php进行手动输入,我也可以导入数据。
我在下面添加了jQuery和php代码。我在XAMPP中使用了所有这些。提前致谢。 :)
jQuery:
$("#userReg_btn").click(function(e)
{
//user registration in
var array = [];
var flag = false;
var fullName = $("#uFn").val();
var email = $("#uEa").val();
var mobile = $("#uMn").val();
var nID = $("#uNm").val();
var zip = $("#uZc").val();
var prof = $("#uPc").val();
array.push(fullName);
array.push(email);
array.push(mobile);
array.push(nID);
array.push(zip);
array.push(prof);
alert(array);
console.log(array);
$.ajax({
url:"http://localhost/signup.php",
data:
{
fullName: array[0],
email: array[1],
mobile: array[2],
nID: array[3],
zip: array[4],
prof: array[5],
},
type:"POST",
dataType:"json",
success:function(e){
alert("in success");
alert(e);
console.log("success");
},
error:function(e)
{
alert("error is hit");
alert(e);
console.log(e);
}
});
});
和php文件:
<?php
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 01 Jan 2016 00:00:00 GMT');
header('Content-type: application/json');
$con=mysql_connect("localhost","root", "");
mysql_select_db("tester",$con);
$name = $_GET['fullName'];
$email= $_GET['email'];
$mobile= $_GET['mobile'];
$nID = $_GET['nID'];
$zip = $_GET['zip'];
$prof= $_GET['prof'];
$query="INSERT INTO user_reg(fullName,email,mobile,nID,zip,prof) VALUES('$name','$email', '$mobile','$nID','$zip','$prof');";
echo $name;
if(mysql_query($query))
{
echo "success";
}else{
echo mysql_error();
}
//}
?>
再次提前致谢:)
答案 0 :(得分:2)
我在你的php脚本中发现了一个问题。在您的AJAX调用中,您将HTTP请求声明为post。但是在你的PHP脚本中,你使用$ _GET方法来查找变量。使用$ _POST。
在PHP脚本中:
$name = $_GET['fullName']
变成
$name = $_POST['fullName'];
对所有变量执行此操作。
您获得空白行的原因是因为变量是空白的。通过将方法更改为$ _POST,您的脚本将能够找到变量
答案 1 :(得分:1)
您的数据对象包含额外的,
,不应该存在。另外,如果您发送 json(请注意,我不确定您是否愿意,但标题会提示):
data: JSON.stringify({
fullName: array[0],
email: array[1],
mobile: array[2],
nID: array[3],
zip: array[4],
prof: array[5]
}),
您还需要设置ajax帖子的contentType:
contentType: 'application/json',