[英]JQuery $.post() issue, nothing is performed
我的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);
參考: 點擊這里
您沒有在調用該函數,它就在那里。 你需要放
register_user($email, $password);
在.php頁面的底部。
甚至更好:將函數更新為返回true或false,而不是“成功”和“錯誤,請重試!”。 然后您可以擁有以下內容
if(register_user($email, $password)){
echo "success";
} else {
echo "failure";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.