📅  最后修改于: 2023-12-03 15:37:07.990000             🧑  作者: Mango
在Flutter和JavaScript中,通常情况下,我们使用Http请求来与API进行通信。在这种情况下,我们常常需要发送一些数据,而Json Body是一个很常见的方式。在本文中,我们将学习如何在Flutter和JavaScript中发送Json Body Http Get请求。
在Flutter中,我们可以使用http
库来发送Http请求。为了发送Json Body的Http Get请求,我们需要使用Uri
对象来构造请求地址,然后将Json Body作为查询参数添加到Uri
对象中。
import 'dart:convert';
import 'package:http/http.dart' as http;
final Map<String, dynamic> requestBody = {'key': 'value'};
final String url = Uri.https('domain.com', 'path', requestBody).toString();
final response = await http.get(url);
if (response.statusCode == 200) {
final jsonResponse = json.decode(response.body);
// handle the response
} else {
// handle the error
}
在上面的代码中,我们首先定义了一个Json Body对象requestBody
,然后使用Uri.https
构造函数来将请求地址和查询参数合并为一个Uri
对象url
。接下来,我们使用http.get
方法来发送Http Get请求,并检查响应的状态码。如果状态码为200,则说明请求成功,并将响应的body
使用json.decode
方法解码为Json对象。
在JavaScript中,我们可以使用fetch
方法来发送Http请求。为了发送Json Body的Http Get请求,我们需要使用URLSearchParams
对象来将Json Body转换为查询参数,并将其添加到请求地址中。
const requestBody = { key: 'value' };
const params = new URLSearchParams(requestBody);
const url = `https://domain.com/path?${params}`;
fetch(url)
.then((response) => {
if (response.ok) {
return response.json();
} else {
throw new Error('Network response was not ok.');
}
})
.then((data) => {
// handle the response
})
.catch((error) => {
// handle the error
})
在上面的代码中,我们首先定义了一个Json Body对象requestBody
,然后使用URLSearchParams
构造函数将其转换为查询参数params
。接下来,我们将查询参数添加到请求地址中,并使用fetch
方法发送Http Get请求。最后,我们使用response.json
方法将响应的body
解码为Json对象,并处理响应或抛出错误。
以上就是在Flutter和JavaScript中如何发送Json Body Http Get请求的介绍。当需要向API发送数据时,记得将Json Body添加到查询参数中发送请求。