如何在飞镖中使用 POST 方法?
how to use POST method in dart?
我想向服务器发送请求并获取详细信息,我已经编写了一些代码,但我不知道为什么它不起作用。
我发现原因是我的变量不会被发送到服务器,我不知道问题出在哪里。
这是我的代码:
_sendBuyBtnReq(
{required BuildContext context,
required String Amount,
required String ScoreAmount}) async {
final prefs = await SharedPreferences.getInstance();
var toke = prefs.getString('mykey');
var ide = prefs.getString('mykey');
final url = Uri.parse('my url');
var body = Map<String, dynamic>();
body["CustomerId"] = '$ide';
body["Amount"] = '$Amount';
body["Credit"] = '$ScoreAmount';
body["Description"] = '2';
http.Response response = await http.post(
url,
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Authorization': 'Bearer $toke'
},
);
if (response.statusCode == 200) {
print(await response.body.toString());
} else {
print(response.reasonPhrase);
var messageM = jsonDecode(utf8.decode(response.bodyBytes));
var MessageModel = messageModel(messageM['message']);
// print(MessageModel._message);
showSnackBar7(context, MessageModel.message);
}
}
您的代码缺少正文参数,这就是您的 POST
请求被视为不完整的原因。试试这个代码。
_sendBuyBtnReq(
{required BuildContext context,
required String Amount,
required String ScoreAmount}) async {
final prefs = await SharedPreferences.getInstance();
var toke = prefs.getString('mykey');
var ide = prefs.getString('mykey');
final url = Uri.parse('my url');
var body = Map<String, dynamic>();
body["CustomerId"] = '$ide';
body["Amount"] = '$Amount';
body["Credit"] = '$ScoreAmount';
body["Description"] = '2';
http.Response response = await http.post(
url,
body: json.encode(body),
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Authorization': 'Bearer $toke'
},
);
if (response.statusCode == 200) {
print(await response.body.toString());
} else {
print(response.reasonPhrase);
var messageM = jsonDecode(utf8.decode(response.bodyBytes));
var MessageModel = messageModel(messageM['message']);
// print(MessageModel._message);
showSnackBar7(context, MessageModel.message);
}
}
您必须将正文传递给请求
并确保您的 url
正常工作
试试这个
final prefs = await SharedPreferences.getInstance();
var toke = prefs.getString('mykey');
var ide = prefs.getString('mykey');
final url = Uri.parse('my url'); //pass proper url
var body = Map<String, dynamic>();
body["CustomerId"] = '$ide';
body["Amount"] = '$Amount';
body["Credit"] = '$ScoreAmount';
body["Description"] = '2';
http.Response response = await http.post(
url,
headers: {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer $toke'
},
body: body,
);
if (response.statusCode == 200) {
print(response.body.toString());
}
我想向服务器发送请求并获取详细信息,我已经编写了一些代码,但我不知道为什么它不起作用。 我发现原因是我的变量不会被发送到服务器,我不知道问题出在哪里。 这是我的代码:
_sendBuyBtnReq(
{required BuildContext context,
required String Amount,
required String ScoreAmount}) async {
final prefs = await SharedPreferences.getInstance();
var toke = prefs.getString('mykey');
var ide = prefs.getString('mykey');
final url = Uri.parse('my url');
var body = Map<String, dynamic>();
body["CustomerId"] = '$ide';
body["Amount"] = '$Amount';
body["Credit"] = '$ScoreAmount';
body["Description"] = '2';
http.Response response = await http.post(
url,
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Authorization': 'Bearer $toke'
},
);
if (response.statusCode == 200) {
print(await response.body.toString());
} else {
print(response.reasonPhrase);
var messageM = jsonDecode(utf8.decode(response.bodyBytes));
var MessageModel = messageModel(messageM['message']);
// print(MessageModel._message);
showSnackBar7(context, MessageModel.message);
}
}
您的代码缺少正文参数,这就是您的 POST
请求被视为不完整的原因。试试这个代码。
_sendBuyBtnReq(
{required BuildContext context,
required String Amount,
required String ScoreAmount}) async {
final prefs = await SharedPreferences.getInstance();
var toke = prefs.getString('mykey');
var ide = prefs.getString('mykey');
final url = Uri.parse('my url');
var body = Map<String, dynamic>();
body["CustomerId"] = '$ide';
body["Amount"] = '$Amount';
body["Credit"] = '$ScoreAmount';
body["Description"] = '2';
http.Response response = await http.post(
url,
body: json.encode(body),
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Authorization': 'Bearer $toke'
},
);
if (response.statusCode == 200) {
print(await response.body.toString());
} else {
print(response.reasonPhrase);
var messageM = jsonDecode(utf8.decode(response.bodyBytes));
var MessageModel = messageModel(messageM['message']);
// print(MessageModel._message);
showSnackBar7(context, MessageModel.message);
}
}
您必须将正文传递给请求
并确保您的 url
正常工作
试试这个
final prefs = await SharedPreferences.getInstance();
var toke = prefs.getString('mykey');
var ide = prefs.getString('mykey');
final url = Uri.parse('my url'); //pass proper url
var body = Map<String, dynamic>();
body["CustomerId"] = '$ide';
body["Amount"] = '$Amount';
body["Credit"] = '$ScoreAmount';
body["Description"] = '2';
http.Response response = await http.post(
url,
headers: {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer $toke'
},
body: body,
);
if (response.statusCode == 200) {
print(response.body.toString());
}