我是jQuery AJAX函数的新手。我想在用户点击按钮时将用户重定向到网页。请不要告诉我将按钮定位到网页,因为我必须在php文件中进行一些工作......我目前的代码是: -
TEST.html文件: -
<html>
<head>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("test2.php");
});
});
</script>
</head>
<button>Get External Content</button>
<div id="div1"></div>
</html>
现在我的test2.php文件如下: -
<?php header("Location:http://google.com"); ?>
我是AJAX jQuery的初学者。所以,请不要低估我的帖子,虽然听起来可能很傻。我的代码,由于显而易见的原因不起作用。请帮我。提前致谢。任何帮助将不胜感激。
答案 0 :(得分:1)
您无法通过AJAX调用重定向。您可以创建一个简单的链接或链接到PHP页面,然后重定向用户。使用AJAX只允许您操纵您所在的页面。
当然,您也可以使用简单的Javascript重定向。
window.location = '/my_url.php';
编辑:在回答您的评论问题时,我要做的是将.get()函数与data参数一起使用,如果服务器端验证是,则检查从PHP页面返回的内容需要,然后如果我对结果感到满意,请重定向。
如果不需要服务器端验证,则不需要AJAX。
答案 1 :(得分:1)
以这种方式看待:AJAX正在请求并读取.php文件。当AJAX看到header("Location: ...")
行时,会重定向AJAX请求。简而言之,AJAX不能用于重定向。
答案 2 :(得分:1)
您可以使用完整的回调来在AJAX查询完成后重定向用户,如下所示:
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("test2.php",
complete: function(){
window.location = 'http://new_url';
}
);
});
});
话虽如此,如果您只想在点击按钮上重定向用户,有更好的方法可以做到这一点。
答案 3 :(得分:0)
$("#div1").load("test2.php");
附加内容
从test2.php
返回,它不会重定向。 test2.php
应该返回一个链接并用链接填充div。然后写一个关于ajax成功的回调
使用window.location = target
重定向,目标是在div1