Flutter-http post-request参数未被采用



我想通过POST请求从服务器获取动画列表(这是一个搜索,所以我用字符串参数发出POST请求(。我从网站上得到了一个代码,它可以工作并返回两三部动漫——这是正确的回应,我的应用程序返回了一个动漫列表。为什么会发生这种情况?我给出了相同的参数"hello"。

这是一个Javascript代码,它可以工作:

let body = "name=" + encodeURIComponent(getParameterByName('search'));
var req = new XMLHttpRequest();
req.open("POST", "https://api.animevost.org/v1/search", true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.onload = function () {
unpackLastTitles(req.response);
};
req.onerror = function () {
alert("Загрузка не удалась");
};
console.log(9898, body, req);
req.send(body);

这是我的Flutter代码,无论你搜索什么,它都会返回动漫的大列表(而不是搜索到的(:

final response = await http.post(
Uri.https('api.animevost.org', '/v1/search', {'name': tC.text}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": 'true',
"Access-Control-Allow-Headers":
"Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,locale",
"Access-Control-Allow-Methods": "POST, OPTIONS"
});

您必须将其作为主体参数发送。

final response = await http.post(
Uri.https('api.animevost.org', '/v1/search'),
body: {'name': tC.text}, // Setting as body parameter
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": 'true',
"Access-Control-Allow-Headers":
"Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,locale",
"Access-Control-Allow-Methods": "POST, OPTIONS"
});

最新更新