使用ajax重定向到索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ajax重定向到索引相关的知识,希望对你有一定的参考价值。

我开始使用ajax,我想我已经失去了一点。我知道关于这个主题有很多问题,但我找不到解决方案。

我不明白为什么在发出请求后它没有重定向到索引:

代码是这样的:

  var request = jQuery
    .ajax({
      crossDomain: true,
      url: url_post_end,
      method: "GET",
      datatype: "json",
      beforeSend: function() {
        $("#End_btn").prop("disabled", true);
      },
    })
    .done(function(data) {
      window.location = "index.html";
    });

还试过:

var request = jQuery.ajax({
    crossDomain: true,
    url: url_post_end,
    method: "GET",
    dataType: "json",
    beforeSend: function() {
      $("#End_btn").prop("disabled", true);
    },
    success: function(data) {
      window.location = "index.html";
    }
  });

它收到的json有以下形式:{“imgname”:“bla”,“folder”:“/ ssa /”}

有人能告诉我为什么页面没有重定向到索引?

谢谢您的帮助!

答案

您没有正确重定向。 window.location只是对浏览器当前位置的对象引用。您需要使用href来模拟链接点击,或者使用replace来模拟HTTP重定向。你也应该抓住错误。如果您的ajax调用失败,它也将无法重定向,否则您将无法知道原因。试试这个:

$.ajax({
    url: url_post_end,
    crossDomain: true,
    type: 'GET',
    dataType: 'json',
    beforeSend: function() {
        $("#End_btn").prop("disabled", true);
    },
    success: function(data) {
        window.location.replace = "index.html";
    },
    error: function (XMLHttpRequest) {
        console.log(XMLHttpRequest.responseText);
    }
});
另一答案

var request = jQuery
.ajax({
  crossDomain: true,
  url: url_post_end,
  method: "GET",
  datatype: "json",
  beforeSend: function() {
    $("#End_btn").prop("disabled", true);
  },
})
.done(function(data) {
  window.location.href = "/"; //redirect to main page
  //or
  window.location.href = 'http://www.example.com'; //Will take you to example.com.

});

以上是关于使用ajax重定向到索引的主要内容,如果未能解决你的问题,请参考以下文章

链接中的 URL 片段和 JSF 中的 ajax 重定向

如何使用带参数的jquery重定向到另一个页面

如何重定向到 $.AJAX 上的视图完成 - asp.net mvc 3

使用ajax ipgeolocation.io重定向页面

提交ajax表单并使用jquery重定向到另一个页面

使用 ajax ipgeolocation.io 重定向页面