1

我已经在 SO 上查看了类似标题的问题,但还没有找到有同样问题的人。使用 jQuery,我试图发出一个 ajax 请求,而不必指定整个url参数。例如,如果我在页面上www.foo.com/bar并想向 发送 ajax 请求www.foo.com/bar/woot,我可以简单地设置导致请求的url参数- 听起来不错。/bar/wootwww.foo.com/bar/woot

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

我还使用 ruby​​-on-rails 标签进行了搜索,但没有发现任何关于这是特定于 RoR 的问题。我显然可以通过将用户 id 传递给函数并将其简单地插入 url 来解决这个问题,即 `url:"/users/"+user_id+"/bar",但这很蹩脚。

对我来说奇怪的是,/1/它绝对是 url 的一部分(如果我没记错的话),而不是像#1片段那样不会成为请求的一部分的东西 - 那么为什么它会被丢弃?

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

有任何想法吗?提前致谢!

4

1 回答 1

0

这将起作用。

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

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

于 2013-03-19T12:13:43.443 回答