ajax 根据响应继续
ajax to Proceed depending upon the response
我正在使用以下代码将imag文件保存在机器上,如果用户是真实的,则保存图像,否则应显示注册页面。 但是保存图像页面后正在刷新或身份验证失败时未重定向到注册。 问题出在哪里?
js ajax::
$.ajax({
type: "POST",
url: "userLoginAction.php",
data: {image: dataURL,uname:uname,pwd:pwd}
}).done(function( respond ) {
alert("Downloading Completed"+respond);
console.log('back on download js**');
});
PHP 用户登录操作.php ::
<?php
include("sessionHandler.php");
include("../connect.php");
$con = connectDb();
$db = SelectDB($con);
$username = $_REQUEST['uname'];
$password = $_REQUEST['pwd'];
$img= $_POST['image'];
// To protect MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM user WHERE user_email ='".$username."' AND user_password='".$password."'";
$result = mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file
createLoginSession($username,$password);
include 'download.php';
}
else {
echo "Wrong Username or Password".$img;
header("location:signup.php");
}
?>
因为在服务器端进行重定向不适用于 ajax。你必须像这样在ajax的成功中进行重定向。尝试这样的事情
阿贾克斯
$.ajax({
type: "POST",
url: "userLoginAction.php",
data: {image: dataURL,uname:uname,pwd:pwd}
}).done(function( respond ) {
if(respond == 'download'){
alert("Downloading Completed"+respond);
console.log('back on download js**');
}
else if(respond == 'login'){
window.location = "url/to/loginpage";
}
});
.PHP
include("sessionHandler.php");
include("../connect.php");
$con = connectDb();
$db = SelectDB($con);
$username = $_REQUEST['uname'];
$password = $_REQUEST['pwd'];
$img= $_POST['image'];
// To protect MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM user WHERE user_email ='".$username."' AND user_password='".$password."'";
$result = mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
createLoginSession($username,$password);
include 'download.php';
echo 'download';
}
else {
echo "login";
}
试试这个,
阿贾克斯
$.ajax({
type: "POST",
url: "userLoginAction.php",
data: {
image: dataURL,
uname:uname,
pwd:pwd
},
success:function(data) {
if (data == '**DOWNLOAD**') {
alert('Download Completed');
} else if (data == '**LOGIN**') {
window.location.href = 'signup.php';
}
}
});
.PHP
include("sessionHandler.php");
include("../connect.php");
$con = connectDb();
$db = SelectDB($con);
$username = $_REQUEST['uname'];
$password = $_REQUEST['pwd'];
$img= $_POST['image'];
// To protect MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM user WHERE user_email ='".$username."' AND user_password='".$password."'";
$result = mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
createLoginSession($username,$password);
include 'download.php';
echo '**DOWNLOAD**';
}
else {
echo "**LOGIN**";
}
要防止页面在 Ajax 调用后刷新,请在 done 函数中返回 false。
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- 为什么继续;语句冻结浏览器
- 等待AJAX响应后再继续
- jQuery验证,在继续之前等待服务调用响应
- 等待方法的响应,然后再继续而不使用 SJAX
- ajax 根据响应继续
- 如何使用 Ajax 一次仅按顺序发布数组的 1 个值,并在继续之前等待响应
- 即使在获取响应后,页面仍会继续加载
- 为什么这个呼叫在继续之前没有等待响应
- jQuery:如何让ajaxSend在继续之前等待另一个Ajax响应
- 如何对JSONP请求返回即时响应,然后继续处理
- 如何继续调用getjson,直到它没有空响应
- 在继续使用脚本之前等待AJAX响应