使用fetch javascript查询字符串

时间:2018-05-29 15:56:32

标签: javascript fetch

我正在开发一个项目,我想定义将传递给fetch ex的url对象。 https://t1.testing.com/test/api/v1/blog?pagingindex=0&pagingresults=10

const url_object = {
  url: `https://t1.testing.com/test/api/v1/blog`,
  url_params: {
    method: "POST",
    pagingindex: 0,
    pagingresults: 10
  }
};

当我打电话给fetch(url_object.url, url_object.url_params)时,我收到了错误消息。我怎样才能将其融入到fetch中?所以我需要允许用户定义将传递的方法和查询字符串。提前谢谢!

2 个答案:

答案 0 :(得分:1)

标有url_params的对象由MDN documentation描述为:

  

包含要应用于请求的任何自定义设置的选项对象。

然后继续列出您可以包含的属性。

pagingindexpagingresults不在其中。

查询字符串是URL的一部分。如果您想将数据放在那里,请将放在网址

const url_object = {
  url: `https://t1.testing.com/test/api/v1/blog?pagingindex=0&pagingresults=10`,
  url_params: {
    method: "POST"
  }
};

您可能希望使用the URL object来构建网址(它将为您处理转义)。

答案 1 :(得分:0)

您也可以吃蛋糕-轻松将字典样式的对象转换为查询参数,而不必大惊小怪:

var url = new URL('https://example.com/');
url.search = new URLSearchParams({blah: 'lalala', rawr: 'arwrar'}); 
console.log(url.toString()); // https://example.com/?blah=lalala&rawr=arwrar