我正在构建一个执行对NodeJS Server的HTTP请求的应用程序,但是当我执行HTTP请求时,结果如下:
Access to XMLHttpRequest at 'http://127.0.0.1:8000/' from origin 'http://127.0.0.1:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
和
Uncaught (in promise) Error: XMLHttpRequest error. dart:sdk_internal 41864:30 get current package:http/src/packages/http/src/browser_client.dart 84:22 <fn> dart:sdk_internal 99587:96 <fn> at Object.dart.createErrorWithStack (dart_sdk.js:4617) at Object.async._rethrow (dart_sdk.js:28723) at async._AsyncCallbackEntry.new.callback (dart_sdk.js:28719) at Object.async._microtaskLoop (dart_sdk.js:25352) at async._startMicrotaskLoop (dart_sdk.js:25358) at dart_sdk.js:25433
这是我使用以下命令发出HTTP请求的代码'package:http/http.dart' as http;:
'package:http/http.dart' as http;
void requestGet(String endpoint, Callback cb) async { return await http.get(Uri.encodeFull(url + endpoint), headers: {"Accept": "application/json"}).then((http.Response response) { print(response.body); }); } void requestPost(String endpoint, Map data, Callback cb) async { return await http.post(Uri.encodeFull(url + endpoint), body: data, headers: {"Accept": "application/json"}).then((http.Response response) { print(response.body); }); }
通过在我的NodeJS服务器中启用CORS,可以解决保留HTTP请求的问题,这里是文档。