JS實(shí)現(xiàn)前端調(diào)用后端get請(qǐng)求在url后拼接參數(shù)

前端開(kāi)發(fā)中,經(jīng)常會(huì)遇到在URL后拼接參數(shù)的需要,而我最近在做項(xiàng)目的時(shí)候就遇到了,所以特此把自己的實(shí)現(xiàn)方式做了一個(gè)總結(jié)記錄下來(lái),也為其他需要的小伙伴做個(gè)參考。前端在調(diào)用后端GET請(qǐng)求時(shí),url的接口名稱(chēng)和參數(shù)一般是字符串拼接的方式,為了避免字符串拼接時(shí)key值對(duì)應(yīng)的value為null對(duì)后端的判斷造成干擾,前端可以處理為value為null時(shí)該參數(shù)的key值省略不傳。

以下是我自己封裝了一個(gè)獲取參數(shù)的方法,在vue的methods方法中:

/**

?* @function 參數(shù)拼接

?* @param {object} obj 只支持非嵌套的對(duì)象

?* @returns {string}

* @author 碼云筆記 2020-4-24

?*/

params(obj:any) {

??let result = '';

??let item;

??for (item in obj) {

????if (obj[item] && String(obj[item])) {

??????result += `&${item}=${obj[item]}`;

????}

??}

??if (result) {

????result = '&' + result.slice(1);

??}

??return result;

}

如何使用呢?假如我們參數(shù)是這個(gè)樣子的:

const obj = {

? name: '碼云筆記',

? value: 'mybj123',

? msg: ''

}

然后在我們需要的地方使用上面封裝好的參數(shù)方法

const url = `/get/info/${this.params(obj)}`;

console.log(url);

最終在瀏覽器中顯示的URL就是

https://域名/get/info/&name=碼云筆記&value=mybj123

原文鏈接:https://www.mybj123.com/6040.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容