2017-07-04 91 views
0

我有ID的數組讓我們說數組值傳遞給查詢字符串URL

favorites = [102,110,112,125] 

我想檢索每個ID對應的對象被傳遞到查詢字符串是這樣的:

public getFavorites(favs){ 
    let favorites = favs.join(); 
    let encodedUrl = encodeURIComponent(JSON.stringify({"id": favorites })); 

    return this.http.get(this.api_url + '/1/query/data/getFavs?parameters='+encodedUrl, { 
    headers: this.authHeader 
    }) 
    .retry(3) 
    .map(res => res.json()); 
} 

問題是隻有一個對象出現在我的html模板和控制檯中。爲了檢索關聯的對象,將一組值作爲參數傳遞給URL的最佳方式是什麼?

+0

你使用TypeScript嗎?如果是這樣,請添加合適的標籤。 – PeterMader

+0

確定你可以做到這一點。您的服務器代碼是否設置爲處理該類型的請求? – James

回答

0

您可以在查詢字符串中傳遞具有相同名稱的多個參數值。這對你有幫助嗎?例如,下面是一個片段:

this.api_url + '/1/query/data/getFavs?id=101&id=110 

Here is another answer對此有更多信息。

如果您必須以序列化方式發送ID,請考慮發佈JSON而不是使用GET方法。如果您試圖通過使其成爲致電呼叫來保持對REST動詞標準的遵從性,您是否可以發佈服務器代碼?

+0

prob是保存值是動態的數組,我不能硬編碼它。這裏是從視頻查詢SELECT *的服務器代碼WHERE id ='{{id}}' –

+0

您不必對其進行硬編碼。您可以循環訪問動態數組並構建查詢字符串。也許我在這方面誤解了你。對於SQL,模板中的ID是否與字符串化的JSON中的ID具有相同的值?模板替換後,這個SQL也會評估什麼?它是MySQL,NoSQL,SQL Server? –

+0

即時通訊使用Baas作爲後端這是sql,這是通過id拉對象的查詢 –

相關問題