获取jQuery中的URL并创建帖子链接ajax

时间:2013-05-03 10:41:06

标签: javascript jquery

我有一个看起来像......的网址

/page/sub/25/ --- edit page with ID @%
/page/sub  ---new page has no ID

网址的最后一部分始终是ID (如果它不是新页面,那么就没有ID)

我需要在jQuery 中获取网址的最后一部分并通过POST发送。例如......

 $.ajax(
            {
                type: "POST",
                url: URLVar, 
                data: "site="+encodeURIComponent(JSON.stringify(site)),
                dataType: "json",
                },

URLVar如果有ID,则为

page/update/25

如果不是

/page/update

如何基于当前网址生成URLVar?

3 个答案:

答案 0 :(得分:1)

尝试

   var url = location.href;
    var id= url.substring(url.lastIndexOf('/') + 1);

答案 1 :(得分:1)

试试这个:

var href = window.location.href;
var val = href.substr(href.lastIndexOf('sub') + 4).replace('/', '');
var URLVar = '';
if (val !== '') URLVar = 'page/update/' + val;
else URLVar = '/page/update';
alert(URLVar);

答案 2 :(得分:1)

就个人而言,我会使用正则表达式在字符串的末尾搜索一个数字,然后是/;然后根据匹配是否形成更新URL。您可以将该逻辑拆分为一个函数,如下所示:

function getUpdateUrl(url) {
    var matches = url.match(/(\d+)\/$/);
    return '/page/update' + (matches ? '/' + matches[1] : '');
}

然后,例如,你会这样称呼它:

console.log(getUpdateUrl('/page/sub/')); // outputs /page/update
console.log(getUpdateUrl('/page/sub/25/')); // outputs /page/update/25

jsFiddle demo

在您的情况下,您可能想要致电getUpdateUrl(window.location.href)