Jquery移动登录表单
我尝试使用Jquery mobile为移动应用程序设置登录表单。我找不出它不工作的原因。这是我的密码Jquery移动登录表单,jquery,jquery-mobile,login-script,Jquery,Jquery Mobile,Login Script,我尝试使用Jquery mobile为移动应用程序设置登录表单。我找不出它不工作的原因。这是我的密码 $(document).ready(function(){ $('#loginForm').submit(function(){ useremail=$("#userEmail").val(); password=$("#password").val(); //alert(use
$(document).ready(function(){
$('#loginForm').submit(function(){
useremail=$("#userEmail").val();
password=$("#password").val();
//alert(useremail + " password: " + password);
$.ajax({
type: "POST",
url: "login.php",
data: "email="+useremail+"&password="+password,
success: function(data){
if (data === 'true') {
$.mobile.pageContainer.pagecontainer("change", "#index", {transition: "slide"});
}
else {
$( "#error_popup" ).popup("open");
}
}
});
return false;
});
});
以及login.php文件
include("config.php");
session_start();
$email = $_POST["email"];
$password = md5($_POST["password"]);
$query = "SELECT username FROM user WHERE email LIKE '$email' AND password LIKE '$password'";
$res = mysqli_query( $db_con, $query );
$rows = mysqli_num_rows($res);
echo $rows;
if($rows == 1)
{
echo true;
$row = mysqli_fetch_row($res);
$username = $row[0];
$_SESSION["username"] = $username;
}
else {
echo false;
}
我希望有人能帮助我。谢谢如果存在通信错误,请尝试添加错误函数以捕获
error: function (xhr, ajaxOptions, thrownError) {
showAlert(xhr.statusText, 1);
}
还可以尝试在ajax请求中添加以下内容:
async:false,
现金:错,
数据类型:“文本”
因此,您的要求是:
$(document).ready(function(){
$('#loginForm').submit(function(){
useremail=$("#userEmail").val();
password=$("#password").val();
//alert(useremail + " password: " + password);
$.ajax({
type: "POST",
url: "login.php",
data: "email="+useremail+"&password="+password,
async: false,
cache: false,
dataType: "json",
success: function(data){
if (data === 'true') {
$.mobile.pageContainer.pagecontainer("change", "#index", {transition: "slide"});
}
else {
$( "#error_popup" ).popup("open");
}
},
error: function (xhr, ajaxOptions, thrownError) {
showAlert(xhr.statusText, 1);
}
});
return false;
});
});
我认为您的问题是在ajax设置中,您正在按照GET方法构建数据。 试着像这样改变那个部分
$(document).ready(function(){
$('#loginForm').submit(function(){
useremail=$("#userEmail").val();
password=$("#password").val();
//alert(useremail + " password: " + password);
$.ajax({
type: "POST",
url: "login.php",
//data: "email="+useremail+"&password="+password,
data: "{'email': '" + useremail+ "',"'password': '"+password+"'}",
success: function(data){
if (data === 'true') {
$.mobile.pageContainer.pagecontainer("change", "#index", {transition: "slide"});
}
else {
$( "#error_popup" ).popup("open");
}
}
});
return false;
});
});
甚至更好
var DTO = { 'email': useremail, 'password': password};
var send = JSON.stringify(DTO);
在ajax中,只需输入数据:发送谢谢您的回答,但它仍然没有运行。我总是收到“错误弹出窗口”。谢谢:)但还是一样的问题:(也许有人知道更好的登录脚本?我只需要一个带有会话的登录区域,用于jqery移动单页,我想将其转换为带有phonegap的移动应用程序。你到底有什么问题..你能通过$_POST[“电子邮件”]读取服务器上的值吗?是的,我可以!我总是得到“错误弹出”和没有页面转换。我不是php的家伙,但你的问题是在服务器上,看看教程jquery ajax+php(),如果你还没有使用firebug(),开始使用它并用它监视你的网络请求和响应