在jquery ajax请求中使用当前URL(具有特定id)

时间:2013-03-18 17:28:35

标签: jquery ruby-on-rails ajax url

我已经在SO上查看了类似标题的问题,但还没有找到有同样问题的人。使用jQuery,我试图在不必指定整个url参数的情况下发出ajax请求。例如,如果我在页面www.foo.com/bar上并且想要向www.foo.com/bar/woot发送ajax请求,我只需将url参数设置为/bar/woot即可生成请求www.foo.com/bar/woot - 听起来不错。

但是,这适用于页面bar位于网站根目录的情况。就我而言,我在页面www.foo.com/users/1(我正在开发一个有多个用户的RoR应用程序),并希望向www.foo.com/users/1/bar发送请求。我认为只需将url参数设置为bar(前面的/没有从根开始)就可以了,并且它排序类型< / em>的。将url参数设置为bar时,会向www.foo.com/users/bar发出ajax请求(显然,省略了我希望看到的用户ID,/1/ usersbar)。

我还搜索了ruby-on-rails标签,并没有看到任何关于这是特定于RoR的问题。我可以通过将用户ID传递给函数并简单地将其插入到url中来解决这个问题,即`url:“/ users /”+ user_id +“/ bar”,但这很蹩脚。

对我来说奇怪的是,/1/绝对是网址的一部分(如果我没有记错的话),而不是像#1片段那样不属于请求 - 为什么它会被删除?

更新
有一些简单的方法可以在jQuery中完成我想要的操作,例如将url参数更改为window.location.href()+"/bar",因为.href()调用将在当前网址中包含/1/,但是我想知道是否有关于为什么只是为bar参数指定url的说明不包含ajax使用的构造url中的/1/请求。

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

这样可行。

var current_href = window.location.href()
window.location.replace(current_href + '/bar')

这会加载网址www.foo.com/users/1/bar