亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 ajax 中成功的 php if 語句后重定向?

如何在 ajax 中成功的 php if 語句后重定向?

PHP
慕桂英4014372 2022-12-11 10:07:09
PHP 正如您在下面的 PHP 代碼中看到的那樣,我正在嘗試重定向用戶,但我在 jquery 中很難做到這一點。我想要的是如果登錄語句成功login_success那么用戶將重定向到 myprofile.php 但什么也沒有發生。    if($query)          {             $num=mysqli_fetch_array($query); //fetching all matching records                if($num > 0)                 {                  //if record found                    $_SESSION["loggedin"] = TRUE;                    $_SESSION['cid']=$num['cid'];                    echo  "login_success";                }                else                {                    echo "invalid email or password.";                }           }else           {             echo "something went wrong!";           }阿賈克斯:$.ajax({                         url:"sql/login_process.php",                         method:"POST",                         data:$('#login_form').serialize(),                         beforeSend:function(){                              $('#login_response').html('<span class="text-info"><i class="fas fa-spinner"></i> Loading response...</span>');                         },                         success:function(data){                              $('form').trigger("reset");                              $('#login_response').fadeIn().html(data);                              setTimeout(function(){                                   $('#login_response').fadeOut("slow");                              }, 7000);                            if(data == "login_success") location.href = "http://www.example.com/myprofile.php";                       }                    }); 我想我在這里遺漏了一些東西。if(data == "login_success") location.href = "http://www.example.com/myprofile.php";
查看完整描述

2 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

*更新下面提到的@Patrick Q 似乎可以回顯數據。您能否嘗試修剪在 javascript/jquery 中收到的數據以檢查意外的空格


data.trim()

如果您想添加更多變量,您可以執行以下解決方案。(或者如果你喜歡的話)


您不應該回顯 ajax 的結果。相反,您應該將其作為 json 返回


PHP文件:


$ajax_result = array():

$ajax_result['success'] = false;

$ajax_result['message'] = 'Incorrect login data';


if(something)

{

    $ajax_result['success'] = 'login_success';

    $ajax_result['message'] = 'You were logged in. You will be redirected now.';

}


header('Content-type:application/json;charset=utf-8');

echo json_encode($ajax_result);

這會將結果作為數組返回到前端,您可以通過選擇帶有 data.success 或 data.message 等的變量來對其進行操作。


查詢/Javascript:


     $.ajax({  

       url:"sql/login_process.php",  

       method:"POST",  

       data:$('#login_form').serialize(),  

       beforeSend:function(){  

            $('#login_response').html('<span class="text-info"><i class="fas fa-spinner"></i> Loading response...</span>');  

       },  

       success:function(data){  

            $('form').trigger("reset");  

            $('#login_response').fadeIn().html(data.message);  

            setTimeout(function(){  

                 $('#login_response').fadeOut("slow");  

            }, 7000);


            if(data.success == "login_success") location.href = "http://www.example.com/myprofile.php";

       }  

  }); 

這是最基本的用法。您可以修改它以保護只能從 ajax 查詢等訪問。


查看完整回答
反對 回復 2022-12-11
?
米脂

TA貢獻1836條經驗 獲得超3個贊

老實說,我喜歡這里的 Patrick Q Idea,這是我到目前為止所取得的成就。


阿賈克斯


  success:function(data){  

      if(data != null && data == "success"){ //redirect...

               window.location = "http://google.com";

    } else { //report failure...


                   $('form').trigger("reset"); 

                   $('#login_response').fadeIn().html(data);

                   setTimeout(function(){  

                   $('#login_response').fadeOut("slow");  

                   }, 7000);

              }

    }  

PHP


          if($num > 0) 

            {

              //if record found

                $_SESSION["loggedin"] = TRUE;

                $_SESSION['cid']=$num['cid'];


                echo "success";


            }


查看完整回答
反對 回復 2022-12-11
  • 2 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號