javascript - jquery ajax 表单 - 如何获取重定向 url?

标签 javascript jquery ajax

我正在使用 ajax 表单 jquery 插件通过 ajax 提交表单(在对话框中)。

这工作正常,然后我从服务器返回 html 响应。响应来 self 无法修改的标准发布后重定向 php 页面。

有没有办法使用 jquery(在 ajax 回调中)获取此重定向的 url(最终 GET 位置)?

  $j('span.sfAutocomplete a').click(function(e){
    var url = this.href;
    var $dialog = $j('<div id="ajaxDialog"></div>').appendTo('body')
    .load(
      url,
      'sfAutocomplete=true',
      function (responseText, textStatus, XMLHttpRequest) {
        $dialog.dialog({ autoOpen: true });
        //
        //  Ajax submit
        //
        $j('#ajaxDialog form').submit(function() {
          function showResponse(responseText, statusText) {

             // how to get the redirect url ?

          }
          $j(this).ajaxSubmit({
            success: showResponse
          });
          return false; 
        }); 
      }
    );
    return false;
  });

最佳答案

我没用过你用的插件,但是如果你用jQuery Ajax command ,您收到 XMLHttpRequest 对象作为 complete 事件的参数。然后,您可以从返回的 HTTP header 中获取发布 URL。请尝试以下操作:

$.ajax({
  url:'your.url',
  data:'your data',
  complete: function(xhr,textstatus) {
    // xhr.responseText contains the response from the server
    var allheaders = xhr.getAllResponseHeaders();
    // this will get all headers as a string - if you want them as an object...
    var eachheader = allheaders.split('\n');
    var headers = {};
    for(i = 0; i < eachheader.length; i++) {
        if ($.trim(eachheader[i]) !== '') {
            headersplit = eachheader[i].split(':');
            headers[headersplit[0]]=$.trim(headersplit[1]);
        }
    }
  }
});

此代码复制自 this thread .

关于javascript - jquery ajax 表单 - 如何获取重定向 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1666205/

相关文章:

php - 无法将数据从数据库读取到下拉列表中

javascript - 使用 ajax 到 jsp 将复选框值传递到数组中

php - jquery ui按钮在ajax调用后不出现

javascript - 在 React 上保持状态

javascript - 如何更改javascript dom中访问过的 anchor 链接的颜色

javascript - Jquery:从获取请求更改 jqXHR 的 HTML 内容

php - 为什么我无法获取在我的 &lt;input type ="file"> 中选择的文件?

javascript - 在 Android/iOS 中通过浏览器发送推送通知

javascript - 更改无序列表元素的焦点颜色?

javascript - 添加声音播放完毕后更改/删除类的事件监听器