0

次のような URL があります。

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

URL の最後の部分は常に IDです (新しいページでない場合、ID はありません)

URL の最後の部分を取得して POST で送信するには、jQueryが必要です。例えば...

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

URLVarIDがあればどこにあるでしょう

page/update/25

そうでない場合

/page/update

現在の URL に基づいて URLVar を生成するにはどうすればよいですか?

4

3 に答える 3

1

試す

   var url = location.href;
    var id= url.substring(url.lastIndexOf('/') + 1);
于 2013-05-03T10:44:52.383 に答える
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);
于 2013-05-03T10:51:25.103 に答える
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 デモ

あなたの場合、おそらくgetUpdateUrl(window.location.href).

于 2013-05-03T10:54:52.350 に答える