首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有dart的http请求

带有dart的http请求
EN

Stack Overflow用户
提问于 2022-01-24 19:31:18
回答 1查看 604关注 0票数 1

我正在尝试学习飞镖,尝试使用来自这个博客的http请求。

因此,我在Windows上安装了dart,但由于任何原因,我似乎无法运行这个脚本:

代码语言:javascript
复制
import 'dart:html';
import 'dart:convert';



void main() {
  var data = { 'title' : 'My first post' };
  HttpRequest.request(
    'https://jsonplaceholder.typicode.com/posts',
    method: 'POST',
    sendData: json.encode(data),
    requestHeaders: {
      'Content-Type': 'application/json; charset=UTF-8'
    }
  )
  .then((resp) {
    print(resp.responseUrl);
    print(resp.responseText);           
  });
}


// Response
// https://jsonplaceholder.typicode.com/posts
// { "title": "My first post", "id": "101" }

当我在Windows终端$dart run script.dart上运行它时,会出现以下错误:

代码语言:javascript
复制
script.dart:1:8: Error: Not found: 'dart:html'
import 'dart:html';
       ^
script.dart:8:3: Error: Undefined name 'HttpRequest'.
  HttpRequest.request(
  ^^^^^^^^^^^

但是在博客文章中有一个指向省道垫的链接,在那里代码运行得很好。有什么办法可以试试吗?谢谢你的煽动

代码语言:javascript
复制
$dart --version
Dart SDK version: 2.15.1 (stable) (Tue Dec 14 13:32:21 2021 +0100) on "windows_x64"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 21:32:52

使用http包是首选的方法,因为它将在所有平台上一致工作。

通过执行以下操作,可以提出同样的请求:

代码语言:javascript
复制
import 'dart:convert';
import 'package:http/http.dart' as http;

void main() {
  var data = {'title': 'My first post'};
  http.post(
    Uri.parse('https://jsonplaceholder.typicode.com/posts'),
    headers: {'Content-Type': 'application/json; charset=UTF-8'},
    body: json.encode(data),
  ).then((resp) {
    print(resp.body);
  });
}

尽管通常使用的是async/await语法,但是:

代码语言:javascript
复制
import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  var data = {'title': 'My first post'};
  var resp = await http.post(
    Uri.parse('https://jsonplaceholder.typicode.com/posts'),
    headers: {'Content-Type': 'application/json; charset=UTF-8'},
    body: json.encode(data),
  );
  print(resp.body);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70839460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档