如何通过 ajax 调用将请求重定向到指定的 php 页面?

how to redirect the request to specified php page by ajax call?

如何通过ajax调用将请求重定向到指定的php页面,下面是我的代码结构

index.html

<html>
<script>
function shift(str)
 {

$.ajax({
   url: 'destination.php',
   type:'POST',
   data: {q:str}
}).done(function( data) {
    $("#result").html(data);

    });

     return false;
   }
 </script>

  <body>
  <input type='button' value='test' onclick="shift('test');">
  <div id='result'></div>
 </html>

destination.php

   <?php
    $string=$_REQUEST['q'];

     if($string=="something")
      {
        header('something.php');
       }
      else
       {
        echo "test";
        }
     ?>

如果发布的字符串与 header 函数相同,这就是我的代码结构]

顺其自然

您可以检查 jquery 中的字符串,如下所示..

首先你必须回显 php 页面中的变量。

那么,

 $.ajax({
 url: 'destination.php',
 type:'POST',
data: {q:str}
}).done(function( data) {
if(data=="something")
 {
      window.location.assign("http://www.your_url.com");    //
 }

});

 return false;

}

您应该为 Location 指定 header 参数。使用下面的代码

<?php
    $string=$_REQUEST['q'];

     if($string=="something")
      {
        header('Location:something.php');
       }
      else
       {
        echo "test";
        }
     ?>

希望对您有所帮助

您应该始终以 json 格式检索响应,并根据该格式决定重定向到哪里。根据您的要求使用以下代码。

function shift(str) {
    $.ajax({
        url: 'destination.php',
        type: 'POST',
        data: {
            q: str
        }
    }).done(function (resp) {
        var obj = jQuery.parseJSON(resp);
        if (obj.status) {
            $("#result").html(obj.data);
        } else {
            window.location..href = "YOURFILE.php";
        }
    });

    return false;
}  

Destination.php

<?php
$string=$_REQUEST['q'];
$array = array();

if($string=="something")
{
    $array['status'] = false;
    $array['data'] = $string;  

}else {
    $array['status'] = true;
    $array['data'] = $string;  
}
echo json_encode($array);
exit;
?>
function shift(str) {
$.ajax({
    url: 'destination.php',
    type: 'POST',
    data: {
        q: str
    }
}).done(function (data) {
    if (data=="something") {
    window.location.href = 'something.php';
    }
    else {
        $("#result").html(data);
    }
});

return false;
}  

Destination.php

<?php
$string=$_REQUEST['q'];

 if($string=="something")
  {
   echo "something";
   }
  else
   {
    echo "test";
    }
 ?>