📜  发送 json body http get flutter - Javascript (1)

📅  最后修改于: 2023-12-03 15:37:07.990000             🧑  作者: Mango

发送 Json Body Http Get in Flutter and JavaScript

在Flutter和JavaScript中,通常情况下,我们使用Http请求来与API进行通信。在这种情况下,我们常常需要发送一些数据,而Json Body是一个很常见的方式。在本文中,我们将学习如何在Flutter和JavaScript中发送Json Body Http Get请求。

Flutter

在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

在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添加到查询参数中发送请求。