为什么HttpRequest在Dart中返回ProgressEvent错误

时间:2019-05-10 00:21:52

标签: http dart

我想用dart进行http调用,但是当我尝试使用某些网站时会返回ProgressEvent错误,而有些则不会。我不明白。

dartpad example

import 'dart:html';
void main() async {
  print(await HttpRequest.getString('https://swapi.co/api/people/1'));
}

我希望

的输出
{
"name": "Luke Skywalker",
"height": "172",
"mass": "77",
"hair_color": "blond",
"skin_color": "fair",
"eye_color": "blue",
"birth_year": "19BBY",
"gender": "male",
"homeworld": "https://swapi.co/api/planets/1/",
"films":[
"https://swapi.co/api/films/2/",
"https://swapi.co/api/films/6/",
"https://swapi.co/api/films/3/",
"https://swapi.co/api/films/1/",
"https://swapi.co/api/films/7/"
],
"species":[
"https://swapi.co/api/species/1/"
],
"vehicles":[
"https://swapi.co/api/vehicles/14/",
"https://swapi.co/api/vehicles/30/"
],
"starships":[
"https://swapi.co/api/starships/12/",
"https://swapi.co/api/starships/22/"
],
"created": "2014-12-09T13:50:51.644000Z",
"edited": "2014-12-20T21:17:56.891000Z",
"url": "https://swapi.co/api/people/1/"
}

但是返回是

Uncaught Error: Instance of 'ProgressEvent'

在我的测试中,它取决于URL:如果我尝试使用相同的代码,但URL为:https://jsonplaceholder.typicode.com/posts,则表示JSON已成功加载。 example json returns correctly

1 个答案:

答案 0 :(得分:1)

您是否尝试设置允许CORS? 我的REST服务器也遇到了同样的问题,我允许使用CORS来源并且它起作用了! 您可以使用以下网站:https://www.test-cors.org/ 使用此页面来测试CORS请求。