如何使用可变网址进行重定向

时间:2019-12-09 11:35:30

标签: javascript php redirect

我的页面上有一个表单,PHP/JS重定向存在问题。

我有3个条件:

  1. 我无法使用PHP“页眉位置”进行重定向,因为我不需要在表单提交时刷新页面,因此我定义了按钮type='button',而不是type ='提交”,而我正在使用AJAX

  2. 我无法在“ AJAX's”“成功”中定义重定向URL,因为该URL应该是可变的,具体取决于先前用户的操作。因此,我需要在PHP中定义URL。

  3. 只有在用户单击页面上的按钮后才需要定义URL,而不是之前。

问题是,JS没有看到PHP中定义的URL,因此重定向不起作用(如果我在AJAX's“成功”中定义URL,则可以正常工作)。

$(document).ready(function () {
    $("#my_button").click(function () {

        $.ajax({
                  type: 'POST',
                  url: 'file.php',
                  data: {check_button: '1', email: 'user@email.com'},
                  success: function(data){
                    //var url = "https://..................";   // THIS WORKS FINE!
                    var url = document.getElementById("my_url").value;    // THIS DOESN'T WORK!
                      window.location.href=url;
                  }
        });
    });
});
// echo "<input type='hidden' id='my_url' value='https://................'/>"; // THIS WORKS FINE!
if (isset($_POST['check_button'])) { 
  echo "<input type='hidden' id='my_url' value='https://................'/>";  // THIS DOESN'T WORK!
  // Do something
}

我需要在此语句中准确定义URL。我该怎么办?

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在PHP代码中进行以下更改:

value

然后在Ajax代码中进行以下更改:

if (isset($_POST['check_button'])) 
{ 
  echo "https://................"; // URL you want
}