[英]PHP AJAX redirect . [help]
我有一個以注冊/登錄方式方式工作的表格。 寄存器部分正常工作。 但是登錄部分有重定向問題...
我將以下代碼用於AJAX。 我對所讀的有關windows.location的所有內容都進行了很多研究,但我不知道該怎么做。
AJAX:
function logar(){
$.ajax({
method: "post",
url: "validalogin.php",
data: $("#login-form").serialize(),
success: function(data){
alert(data);
}
});
}
PHP:我嘗試通過用戶鍵入的庫/數據中的結果創建會話之前和之后進行必要的檢查...
if ($result >1) {
session_name('nacional');
session_start();
$_SESSION['cpf']=$cpf;
$_SESSION['senha']=$senha;
header("Location: my_folder/index.php");
}
謝謝收聽。
您應該向JavaScript發送JSON響應,而不是返回標頭。 標頭在后台重定向。 在您的PHP中執行以下操作:
return json_encode(['success' => true]);
然后,將其掌握在您成功的AJAX方法中。 您還需要告訴AJAX使用JSON。 將其放在您的方法和url參數之后,如下所示:
function logar() {
$.ajax({
method: "post",
url: "validalogin.php",
data: $("#login-form").serialize(),
dataType: 'json'
})
.success(function(data){
if (data.success == true) {
alert(data);
window.location.href = "folder/index.php";
}
});
}
我尚未能夠使表格正常工作。 我將在下面發布如何獲取代碼。
AJAX(與表單在同一頁面上。):
function logar(){
$.ajax({
method: "post",
url: "validalogin.php",
data: $("#login-form").serialize(),
dataType: 'json',
success: function(data){
if (data.success == true) {
alert(data);
window.location.href = "folder/index.php";
}
}
});
}
PHP:(我跳過了上面的代碼的一部分,但這不會影響此處的操作)
$sql = "SELECT * FROM aluno_login WHERE cpf = '$cpf' and senha ='$senha' ";
$result = mysql_query($sql, $conexao);
while($linha = mysql_fetch_row($result)) {
if ($result <1){
unset ($_SESSION['cpf']);
unset ($_SESSION['senha']);
session_destroy();
//echo "Algo deu errado, tente novamente !";
//return json_encode('Error' => false);
}
if ($result >1) {
session_name('nacional');
session_start();
$_SESSION['cpf']=$cpf;
$_SESSION['senha']=$senha;
return json_encode('success' => true);
}
應該行嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.