2013-01-04 67 views
2

我使用流星與另一個CMS,並創建一個我需要運行流星(例如http://site.com?a=flash&b=hash)的變量的網址。如何讓這些變量可用,並讓流星忽略它作爲一個位置?當我加載這樣的網址時,我的應用程序無法正確加載,可能是因爲它認爲我正在請求不同的位置。如何解析與流星的網址

+0

嗨特雷弗,答案提供回答你的問題嗎?如果是這樣,請標記爲已回答。如果沒有,請修改您的問題,我們很樂意嘗試和幫助。乾杯! –

回答

1

使用鐵路由器,如果URL中的查詢字符串或哈希代碼,您可以使用查詢訪問那些和this.params對象的散列屬性。

// given the url: "/post/5?q=s#hashFrag" 
Router.route('/post/:_id', function() { 
    var id = this.params._id; 
    var query = this.params.query; 

    // query.q -> "s" 
    var hash = this.params.hash; // "hashFrag" 
}); 
1

在Meteor中使用querystring應該沒有效果,除非你使用eg。 Meteor Router根據當前URL調用不同的方法。

如果你想解析查詢字符串,只需用例如。 (在CoffeeScript中)

querystring: -> 
    qs = {} 
    for pair in window.location.search.replace("?", "").split "&" 
     [k, v] = pair.split("=") 
     qs[k] = v 
    qs 

它會返回一個對象,如:

{ "a": "flash", "b": "hash" } 
+0

奇怪 - 我沒有使用任何特殊的路由方法。我有一個函數來分析URL並獲取變量,但是如果將這些變量添加到查詢字符串中,則不會加載現有的數據庫集合。 –

+0

確實很奇怪。我無法重現這一點。試着找出確切的問題是什麼(做一個新的空流星應用程序,不斷添加東西,直到它破裂)並嘗試在Github上提交問題? – Rahul