简体   繁体   English

在javascript中获取api中的url查询字符串

[英]Url query string in fetch api in javascript

How to pass query string with fetch api javascript ( https://github.com/github/fetch )? 如何使用fetch api javascript( https://github.com/github/fetch )传递查询字符串?

var url = "http://www.abcd.com";
var query = {
    a: "test",
    b: 2
};

Above should be converted to http://www.abcd.com?a=test&b=2 when I pass some argument to fetch 当我将一些参数传递给fetch时,上面应该转换为http://www.abcd.com?a=test&b=2

var params = Object.keys(query)
                   .map((key) => encodeURIComponent(key) + "=" + encodeURIComponent(query[key]))
                   .join("&")
                   .replace(/%20/g, "+");

fetch(url + "?" + params);

Or with the options object - but this will NOT work with GET and HEAD method : 或与options对象- 但是这不会一起工作GETHEAD方法

fetch(url, {
    method: "POST",
    body: convertObjectToFormData(query)
}).then(...);

function convertObjectToFormData(obj) {
    var formData = new FormData();
    for (var key in obj) {
        formData.append(key, obj[key]);
    }
    return formData;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM