我的 jQuery 函数遇到一个小问题,下面是代码:
function registerUser()
{
var formData = $('#registerForm').serialize();
var dataPost = $.post('classes/login.php', {type:'register', data: formData} ,function (data)
{
console.log(data);
});
};
然后我的 login.php 文件如下所示:
$type = $_POST['type'];
$email = $_POST['data']['0'];
$password = $_POST['data']['1'];
function register_user($email, $password)
{
global $db;
//lets add some code to register user
$stmt = $db->prepare("INSERT INTO user (email, password, role, banned) VALUES (:email, :password, 'level1', 'N')");
$stmt->execute(array(':email'=> $email, ':password'=> $password));
$rowCount = $stmt->rowCount();
if($rowCount > 0)
{
// Success
// set session data and etc.
return "success";
}
else
{
// Failed
return "Error, please try again!";
}
}
$result = register_user($email, $password);
当我执行它时,我没有收到任何错误或任何其他信息,只是一个简单的空白行不显示任何数据,并且数据没有插入到数据库中?
最佳答案
您想要通过表单序列化发布额外参数。
function registerUser()
{
var formData = $('#registerForm').serializeArray();
formData.push({name: 'type', value: 'register'});
var dataPost = $.post('classes/login.php', formData ,function (data)
{
console.log(data);
});
};
现在服务器端更新
$type = $_POST['type'];
$email = $_POST['LoginEmail'];
$password = $_POST['LoginPassword'];
function register_user($email, $password)
{
global $db;
//lets add some code to register user
$stmt = $db->prepare("INSERT INTO user (email, password, role, banned) VALUES (:email, :password, 'level1', 'N')");
$stmt->execute(array(':email'=> $email, ':password'=> $password));
$rowCount = $stmt->rowCount();
if($rowCount > 0)
{
// Success
// set session data and etc.
return "success";
}
else
{
// Failed
return "Error, please try again!";
}
}
$result = register_user($email, $password);
引用:click here
关于php - JQuery $.post() 问题,没有执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921784/