【问题标题】:using jQuery to get url and extract url segments使用 jQuery 获取 url 并提取 url 段
【发布时间】:2014-08-20 08:09:50
【问题描述】:

在具有类别列表的网页上,每个类别标题都以这种格式链接:http://localhost/admin/category/unpublish/2

我写了下面的js代码,试图捕获url和segments'unpublish'(action)和'2'(id),需要把请求发送到http://localhost/admin/category

$('#statusChanges a').click(function(evt) { // use the click event of hyperlinks
  evt.preventDefault();
  var url = $(location).attr('href');
  // var action = url.segment(3);  /*JS console complains that url.segment() method undefined! */
  // var id = url.segment(4);
  $.ajax({
    type: "GET",
    url: $(location).attr('href'),
    dat: '',
    /* do I need to fill the data with json data: {"action": "unpublish, "id": 2 } ? but I don't know how to get the segments */
    success: function(data) {
      $('.statusSuccess').text('success!');
    },
    error: function(data) {
      $('.statusSuccess').text('error!');
    }
  });
}); // end of status change

【问题讨论】:

标签: javascript jquery ajax url


【解决方案1】:

试试这个

var url = $(location).attr('href').split("/").splice(0, 5).join("/");

更新答案:

用户this对象获取当前锚链接见下文

$(this).attr('href')

【讨论】:

  • 我发现 $(location).attr('href') 给了我当前的 url,但我想获取 标签上的 url。谢谢
  • @TonyGW ,尝试this 获取当前网址$(this).attr("href")
  • 好的,所以这给了我在 hyerlink 上的正确 url: var url = $(this).attr('href');感谢您的帮助!
  • @TonyGW this 是指当前目标...您已在<a> 标签上附加了事件,因此this 为您提供当前<a> 元素参考。
  • $(this).attr('href') 我在 firefox 37 上未定义
【解决方案2】:

先将 URL 分割成段:

var segments = url.split( '/' );
var action = segments[3];
var id = segments[4];

【讨论】:

  • 这个很简单,但是注意应该是var segments = window.location.href.split( '/' );。见:Get the current URL with JavaScript?
  • 这是假设 url 已经定义,即 var url = $(location).attr('href');
【解决方案3】:

我认为你可以使用split。然后,您可以使用一个数组来获取操作和 ID。

【讨论】:

    猜你喜欢
    • 2015-03-11
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 2015-11-16
    • 2010-09-29
    • 2021-01-01
    • 2018-07-14
    相关资源
    最近更新 更多