【问题标题】:Flutter http.post body is an empty object on nodejs?Flutter http.post body 是 nodejs 上的空对象?
【发布时间】:2022-04-12 17:42:31
【问题描述】:

我的 Flutter http.post 请求正在向我的 Node.js 服务器发送一个空正文。这是我的前端代码:

var response = await http.post(Uri.parse('$host/api/new'),
            body: {
              'id': '$id',
              'token': token
            });

帖子正在到达我的 node.js 服务器,但正文是一个空对象。我做错了什么?

【问题讨论】:

    标签: node.js flutter http flutter-http


    【解决方案1】:

    将此添加到发布请求中为我修复了它:

    headers: {
          HttpHeaders.contentTypeHeader: 'application/json',
        },
    

    然后在主体周围添加这个:

    jsonEncode({ ... })
    

    然后导入这个:

    import 'dart:io';
    

    【讨论】:

      【解决方案2】:

      尝试关注。

      在后端请求中包含标头以了解以 json 格式发送的数据,并将数据编码为 json。

      import 'package:http/http.dart' as http;
      import 'dart:convert';
      
      static final client = http.Client();
      
      static Future<dynamic> someFunctionName() async {
        //parse URL
        var parsedUrl = Uri.parse(URL);
        // define headers
        Map<String, String> postHeaders = {"Content-Type": "application/json"};
        // json encode map
        encodedBody = json.encode({'id': '$id','token': token})
        // execute http post
        var response = await client.post(parsedUrl, headers: postHeaders, body: encodedBody);
        print('network_handler.dart - response.body = ${response.body}');
        return response;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-09
        • 1970-01-01
        • 2012-02-25
        • 2017-02-28
        相关资源
        最近更新 更多