gpt4 book ai didi

javascript - 从对象创建 URI 字符串

转载 作者:行者123 更新时间:2023-11-29 23:38:33 26 4
gpt4 key购买 nike

我在 javascript 中有以下变量

var domain= http://example.com/api/v1/purchases/get_purchases.json?
var header = 'df0a96ddbe1ada9fda4b1ed9b02cf67c'
var params = {
search:{
status_eq: 'frozen',
email_eq: 'a@a.com',
phone_number_eq: ''
}
}
var api_string = domain + header + params;

我需要 api_string 的输出是:

http://example.com/api/v1/purchases/get_purchases.json?headers%5B_token%5D=df0a96ddbe1ada9fda4b1ed9b02cf67c&search%5Bemail_eq%5D=a@a.com&search%5Bphone_number_eq%5D=12345&search%5Bstatus_eq%5D=frozen

我尝试了 JSON.stringify、encodeURI、encodeURIComponent,但它没有按预期工作。

我需要在 react-nativefetch 函数中使用这个 api_string

最佳答案

您可以使用序列化函数,如下所示:

serialize = function(obj, prefix) {
var str = [], p;
for(p in obj) {
if (obj.hasOwnProperty(p)) {
var k = prefix ? prefix + "[" + p + "]" : p, v = obj[p];
str.push((v !== null && typeof v === "object") ?
serialize(v, k) :
encodeURIComponent(k) + "=" + encodeURIComponent(v));
}
}
return str.join("&");
}

console.log(serialize(params));

给予:

search%5Bstatus_eq%5D=frozen&search%5Bemail_eq%5D=a%40a.com&search%5Bphone_number_eq%5D=`

关于javascript - 从对象创建 URI 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45817696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com