我已經查看了關於SO的類似標題的問題,但還沒有找到具有相同問題的人。使用jQuery,我試圖做一個ajax請求,而不必指定整個url
參數。例如,如果我在頁面www.foo.com/bar
上並希望發送一個ajax請求到www.foo.com/bar/woot
,我可以簡單地將url
參數設置爲/bar/woot
,這會導致請求www.foo.com/bar/woot
- 聽起來不錯。在jquery ajax請求中使用當前URL(使用特定的ID)
但是,這適用於頁面bar
位於站點根目錄的情況。在我的情況下,我在頁www.foo.com/users/1
(我正在開發一個有多個用戶的RoR應用程序),並且想要發送一個請求到www.foo.com/users/1/bar
。我認爲只需將url
參數設置爲bar
(沒有前面的/
開始於根目錄)就可以工作,並且可以工作。當將url
參數設置爲bar
時,ajax請求被設爲www.foo.com/users/bar
(顯然,忽略用戶標識/1/
,我希望看到它夾在users
和bar
之間)。
我也用ruby-on-rails標籤進行了搜索,並沒有看到任何有關RoR特定問題的信息。我明顯可以通過將用戶標識傳遞給函數並將其簡單地插入到url中,即`url:「/ users /」+ user_id +「/ bar」來解決這個問題,但這很糟糕。
對我而言,奇怪的是,/1/
絕對是url的一部分(如果我沒有弄錯),而不是像#1
片段那樣不會成爲請求的一部分 - 那爲什麼呢?下降?
UPDATE
有簡單的方法來完成我想在jQuery的,如改變url
參數window.location.href()+"/bar"
爲.href()
電話會議將在當前的URL的/1/
,但是我在想,如果有一個關於的解釋爲什麼只是爲url
參數指定bar
不包括在由ajax請求使用的構造url中。
任何想法?提前致謝!
簡單的解決方案是不粘'在前面window.location.href',但實際上你應該用你的路由,以確定您資源的位置。 – travis 2013-03-18 17:32:20
我明顯使用路由來指定資源的位置,'bar'是'users'資源的成員 - 這就是爲什麼我需要正確的ID。我的問題是客戶端而不是服務器端。 – MandM 2013-03-18 18:14:14