使用jQuery AJAX重定向用户按钮点击

时间:2013-07-01 17:16:50

标签: php javascript jquery ajax

我是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的初学者。所以,请不要低估我的帖子,虽然听起来可能很傻。我的代码,由于显而易见的原因不起作用。请帮我。提前致谢。任何帮助将不胜感激。

4 个答案:

答案 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

中动态加载的链接