gpt4 book ai didi

aurelia - 使用 aurelia-fetch-client 发布 'x-www-form-urlencoded' 内容

转载 作者:行者123 更新时间:2023-12-02 05:44:58 26 4
gpt4 key购买 nike

问题很简单:如何使用 Aurelia Fetch 客户端发布 x-www-form-urlencoded 内容?

我需要将帖子发布到使用 OWIN 和 Katana 进行身份验证的简单 ASP.NET Web API 服务器。

我已经尝试过的示例:

var loginDTO = new FormData();
loginDTO.append('grant_type', 'password');
loginDTO.append('email', 'test');
loginDTO.append('password', 'test');

return this.http
.fetch(config.router.token, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: loginDTO
});

显然,这并没有达到预期效果。发布示例中提供的数据的正确方法是什么?

最佳答案

aurelia-fetch-client 是基于 Fetch 规范构建的,并且 Fetch 似乎总是发送 FormDataContent-Type: multipart/form-data .

要解决此问题,您必须将参数转换为查询字符串,然后将内容类型设置为 x-www-form-urlenconed 。您可以使用 jQuery 或自定义函数将对象转换为查询字符串。像这样:

//jQuery.param returns something like ?param=1&param2=2 and so on
//params = a plain javascript object that contains the parameters to be sent
this.http.fetch(url, {
body: $.param(params),
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(response => response.json())
.then(response => {
//your magic here
});

我知道这不是一个好的解决方案,但这是我迄今为止发现的最简单的方法。

关于aurelia - 使用 aurelia-fetch-client 发布 'x-www-form-urlencoded' 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36067757/

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