繁体   English   中英

jQuery $ .post()问题,不执行任何操作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM