Flutter for web 请求本地部署的API,报错 XMLHttpRequest error,这是什么问题?

Flutter for web 请求本地部署的API(本地接口用python写的),报错DioError [DioErrorType.RESPONSE]: XMLHttpRequest error,get请求,直接在浏览器中加载是由数据的,但是放在代码里面运行就不行,同样的接口在iOS中,postMan中,也都是可以加载的,请问这个是怎么回事呢?代码如下:

    Dio dio = Dio();
    try {
      Response response = await dio.get("http://0.0.0.0:8080/index");
    } on DioError catch (e) {
      // 所有的 Exception
      print('所有exception---' + e.toString());
    } catch (e) {
      // 不指定错误类型,匹配所有
      print('匹配所有');
    }
阅读 12.2k
2 个回答

问题已经解决,原因是浏览器的跨域问题,我在python代码中设置了web.header("Access-Control-Allow-Origin", "*"),就可以了

接口有设置Access-Control-Allow-Origin吗?
浏览器环境有跨域限制 ,服务器返回的输出头中必须有相应的设置才能在js中调用(flutter web最终转换的代码是js)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题