簡體   English   中英

如何使用get http請求發送參數(id)?

[英]How to send a parameter (id) with get http request?

我開始輸入,而http.get只接受url,所以我不知道如何發送一個人的ID並從我的api(從Sql數據庫中獲取它)中獲取該人。

public getByID(n :number) : Promise<any>{

    return this.http.get(this.url).toPromise();
  }

也許將其附加到網址?

您可以選擇使用模板字符串將參數添加到URL

return this.http.get(`${this.url}?id=${n}`).toPromise();

如果您想使用GET將變量傳遞給API,則可以使用查詢字符串。 記住要正確地逃避(urlencode)! 如果您不希望變量可見,也可以使用POST。

對於簡單的情況,手動設置查詢字符串的格式很好。 但是,如果有許多參數,它可能會變得乏味。

您可以編寫一個簡單的實用程序函數來為您構建查詢格式。

function formatParams( params ){
return "?" + Object
    .keys(params)
    .map(function(key){
        return key+"="+encodeURIComponent(params[key])
    })
    .join("&")

}

您將以這種方式使用它來構建請求。

var endpoint = "https://api.example.com/endpoint"
var params = {
a: 1,
b: 2,
c: 3
}


return this.http.get(this.url+ formatParams(params)).toPromise();

這是您需要做的一個例子

public getByID(n :number) : Promise<any>{  
    return this.http.get(this.url + '?id=' + number).toPromise();
}

如果你想傳遞id ,你可以只是做post的要求。 它想return this.http.post(this.url, {id: n}).toPromise() ,第二個參數只是請求體,可以是對象數組,也可以是對象。 然后在服務器端,您只需將其解析為JSON格式。 您也可以使用get方法,但隨后必須將其作為搜索URL參數發送。 這里看看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM