gpt4 book ai didi

javascript - 在 ES6 中修改新请求对象的 URL

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

我只是在尝试使用 Fetch API,我遇到了一些我似乎无法找到答案的问题。如果我像这样创建一个新的请求对象:

let request = new Request('http://www.foo.com', {
method: 'GET',
mode: 'no-cors',
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded'
})
});

如果我随后尝试修改 URL(向其附加查询字符串),我会在浏览器中收到错误消息(无法分配给只读属性)。我知道通常对于对象,您可以将 writable 设置为“True”,但这对请求对象是否同样有效?

我问的原因是我试图将查询字符串附加到 URL 的末尾。这些 options 位于另一个对象中,我已经获得了它的值并将其连接成一个字符串,因此它类似于:

number=1&id=130&foo=bar

我是否试图过度设计我在这里所做的事情?

最佳答案

您可以将旧请求中的所有属性复制到具有新 url 的新请求中,如下所示:

const init = { 
method: 'GET',
mode: 'no-cors',
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded'
})
};
const oldRequest = new Request("https://old-url.com", init);
const newRequest = new Request("https://new-url.com", oldRequest);

console.log(newRequest.mode === oldRequest.mode); // true
console.log(newRequest.headers.get('Content-Type') === oldRequest.headers.get('Content-Type')); // true
console.log(newRequest.method === oldRequest.method); // true

关于javascript - 在 ES6 中修改新请求对象的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43004657/

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