Ph.*_*lpp 28 xml rss http dart flutter
我正在尝试制作一个带有 flutter 的 RSS 阅读器,但该程序引发了XMLHttpRequest error.
在我的测试中,我使用网络(Chrome)作为我的目标平台。
\n感谢您的帮助。
\n Future<RssFeed> fetchFeed() async {\ntry {\n final response = await http.get(Uri.parse(url), headers: {"Access-Control-Allow-Origin": "*"});\n return RssFeed.parse(response.body);\n} catch (e) {\n print(e);\n return RssFeed(title: "Test");\n }}\n\n var feed = await fetchFeed();\nRun Code Online (Sandbox Code Playgroud)\n完整错误日志:
\nError: XMLHttpRequest error.\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-\n\nsdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 910:28 get current\npackages/http/src/browser_client.dart 69:22 <fn>\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/zone.dart 1685:54 runUnary\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 159:18 handleValue\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 766:44 handleValueCallback\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 795:13 _propagateToListeners\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/future_impl.dart 592:7 [_complete]\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream_pipe.dart 61:11 _cancelAndValue\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/stream.dart 1288:7 <fn>\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14 _checkAndCall\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39 dcall\nC:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/html/dart2js/html_dart2js.dart 37301:58 <fn>\n\n\n at Object.createErrorWithStack (http://localhost:49656/dart_sdk.js:5080:12)\n at Function._throw (http://localhost:49656/dart_sdk.js:20337:18)\n at Function.throwWithStackTrace (http://localhost:49656/dart_sdk.js:20334:18)\n at async._AsyncCallbackEntry.new.callback (http://localhost:49656/dart_sdk.js:40851:18)\n at Object._microtaskLoop (http://localhost:49656/dart_sdk.js:40708:13)\n at _startMicrotaskLoop (http://localhost:49656/dart_sdk.js:40714:13)\n at http://localhost:49656/dart_sdk.js:36191:9\nRun Code Online (Sandbox Code Playgroud)\n颤动医生输出:
\n[\xe2\x88\x9a] Flutter (Channel stable, 2.10.1, on Microsoft Windows [Version 10.0.19042.1526], locale de-DE)\n[\xe2\x88\x9a] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)\n[\xe2\x88\x9a] Chrome - develop for the web\n[\xe2\x88\x9a] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.5)\n[\xe2\x88\x9a] Android Studio (version 2021.1)\n[\xe2\x88\x9a] VS Code (version 1.63.2)\n[\xe2\x88\x9a] Connected device (4 available)\n[\xe2\x88\x9a] HTTP Host Availability\nRun Code Online (Sandbox Code Playgroud)\n依赖项:
\ndependencies:\n flutter:\n sdk: flutter\n\n\n\n # The following adds the Cupertino Icons font to your application.\n # Use with the CupertinoIcons class for iOS style icons.\n cupertino_icons: ^1.0.2\n url_launcher: ^6.0.20\n http: ^0.13.0\n flutter_staggered_grid_view: ^0.6.1\n calendar_view: ^0.0.3\n webfeed: ^0.7.0\n string_similarity: ^2.0.0\n sortedmap: ^0.5.1\nRun Code Online (Sandbox Code Playgroud)\n
And*_*nto 12
此错误的原因是当您使用 Uri.parse(url) 时,您应该使用 Uri.https('urlPath', 'callPath') (例如:Uri.https('api.to.consults', 'login') ),我花了几天时间寻找解决方案,但没有任何效果,直到我改变了这一点。我希望它能帮助某人。例子
...
var uri = Uri.https('my.apiurl.com', 'my/api/endopoint/path');
var response = await client.get(uri);
...
Run Code Online (Sandbox Code Playgroud)
您可能会注意到“my.apiurl.com”不包含“http://”或“https://”,如果它携带任一协议,您应该根据需要调用 Uri.http 或 Uri.https。
另请注意,“my/api/endopoint/path”是要查询的端点的路径,例如“api/users/login”或“api/categories”。
| 归档时间: |
|
| 查看次数: |
82166 次 |
| 最近记录: |