成功的ajax请求数据后如何重定向到外部网站

时间:2014-01-08 04:24:46

标签: jquery ajax html5

我正在研究这段代码......

<script>
$("#ajaxform").submit(function(e)
{
    $("#simple-msg").html("<img src='images/ajax-loader.gif'/>");
    var postData = $(this).serializeArray();
    var formURL = $(this).attr("action");
    $.ajax(
    {
        url : formURL,
        type: "POST",
        data : postData,
        success:function(data, textStatus, jqXHR) 
        {
            $("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');

        },
        error: function(jqXHR, textStatus, errorThrown) 
        {
            $("#simple-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
        }
    });
    e.preventDefault(); //STOP default action
});

$("#ajaxform").submit(); //SUBMIT FORM

      $('#simple-post').click(function(){
 $('#simple-msg').css({
     'display':'block',
   'background-color':'red',    
   'font-size':'44px'
 });

});   

如果返回的数据成功,则显示如下:

{
status: "Success",
msg: "You have been registered"
}

如果返回的数据成功但注册失败。

{
status: "Fail",
msg: "Please provide full name"
}

如果只有返回状态在json中成功,我该如何将用户重定向到外部网站www.google.com?

=========================================

大声笑似乎回答了我自己的问题......

这里我是如何设法最终做到的。

success:function(data, textStatus, jqXHR) 
        {
            var a = JSON.parse(data)

            if(a.status == 'success') window.location.href = 'http://google.com';
            else
            $("#simple-msg").html('<pre><code     class="prettyprint">'+a.status+'</code></pre>');


        },

5 个答案:

答案 0 :(得分:1)

试试这个

$("#simple-msg").html('<pre><code class="prettyprint">'+data.msg+'</code></pre>'); //if You want show only the message

if(data.status.toLowerCase == "success"){
  window.location.href = "http://www.google.com";
}

答案 1 :(得分:0)

在代码行之后,

$("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');

使用以下Javascript代码重定向:

window.location.replace("http://www.google.com");

Why is window.location.replace() better than window.location.href?

答案 2 :(得分:0)

在您的成功阻止中添加window.location.href =&#39; http://www.google.com&#39;;

success:function(data, textStatus, jqXHR) 
        {

            $("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');
            window.location.href = 'http://www.google.com';  // It redirect to google 
        }

答案 3 :(得分:0)

重写成功回调代码,如下所示,

你需要使用window.location.href =“http://www.google.com”;

    success:function(data, textStatus, jqXHR) 
    {
        $("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');
        window.location.href = "http://www.google.com";
    },

答案 4 :(得分:0)

试试这个:

<script>
$("#ajaxform").submit(function(e)
{
 $("#simple-msg").html("<img src='images/ajax-loader.gif'/>");
 var postData = $(this).serializeArray();
 var formURL = $(this).attr("action");
 $.ajax(
 {
     url : formURL,
     type: "POST",
     data : postData,
     success:function(data, textStatus, jqXHR) 
     {
        if(data.status=="success"){
          window.location.href="http://www.google.com"; 
        }

         $("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');

     },
     error: function(jqXHR, textStatus, errorThrown) 
     {
         $("#simple-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
     }
 });
 e.preventDefault(); //STOP default action
});

$("#ajaxform").submit(); //SUBMIT FORM

   $('#simple-post').click(function(){
$('#simple-msg').css({
  'display':'block',
  'background-color':'red',    
  'font-size':'44px'
 });