【发布时间】:2019-12-09 21:16:13
【问题描述】:
我的页面上有一个表单,PHP/JS 重定向存在问题。
我有3个条件:
我不能使用
PHP“标题位置”来重定向,因为我需要在表单提交时不刷新页面,所以我定义了按钮type='button',而不是 type='submit'我正在使用AJAX。我无法在
AJAX's"success" 中定义重定向 URL,因为 URL 应该是可变的,具体取决于先前用户的操作。所以我需要在PHP中定义URL。我必须在用户点击我页面上的按钮之后定义 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。我该怎么做?
提前感谢您的帮助。
【问题讨论】:
-
在ajax响应中从PHP返回url的值,然后设置。
-
也请发布您的 PHP 代码。
-
是的,我已经做到了,我将 url 传递给隐藏标签中的 js,然后我在 ajax 中设置了它,但这只有在我在用户点击之前传递变量时才有效按钮
标签: javascript php redirect