我在一個應用程序,它是,基本上,與搜索結果的表使用的角度。 訪問這個表能夠經由URL等http://myapp/?client=clientName
的角控制器被實例化的表,除其他事項外,用於與所述行信息打開一個模態對話框(也基於角度與自舉-UI)來實現。
這些行的細節是通過一個服務,它具有兩個控制器的一些共同的功能:一個用於表和模態。
現在,這個服務中,我有以下的代碼片段檢索:
service.fetchRelatedElements = function(element, cb) {
var url = '/search.json?results=20&type='+element.type;
if ($location.search()['client']) {
url += '&client=' + $location.search('client');
}
return doFetch(url, cb); // actual server json GET
};
的目標是要知道,如果表已將此具體client
參數設置爲一個過濾器。
如果我在本次調用的開始處放置了一個斷點,我看到$location.absUrl()
返回當前的瀏覽器URL(在我的情況下,它有我感興趣的client
參數)。
但$location.search()
返回一個空的對象。
我用我的默認服務中注入$位置服務(即,不是由.config()
調用需要配置)。 而且,正如醫生說:
的$定位服務解析在瀏覽器地址欄(在基於window.location的 )的網址,使現有的URL到您的 應用。
我錯過了什麼嗎?這個URL不應該被解析嗎?
謝謝!
更新:我設法使它工作。問題恰恰在於我沒有配置所有的服務。我這樣做是因爲我認爲以這種方式將採取默認值,但似乎這不是它的工作方式。
你可以分享$ location.absUrl()的輸出嗎?這聞起來像一個正則表達式問題。 – Jmr 2013-04-29 21:24:16
當然!它是'http:// localhost:3000/results?utf8 =%E2%9C%93&client = mond&type =&submittedLowerBound =&submittedUpperBound =&commit = Filter'。 這是後端的Rails應用程序。 – Pipetus 2013-04-29 21:37:53
你能爲你的解決方案分享一些代碼嗎?我有相同的問題,其中$ location.search()返回{} – sthomps 2013-05-16 01:35:23