解决ant Design dva ajax跨越请求 (status=0)

Posted 纸鸢@tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决ant Design dva ajax跨越请求 (status=0)相关的知识,希望对你有一定的参考价值。

今天实现了antd作为前端展现,python flask作为后端的数据填充,完全两个独立的服务;过程中遇到ajax跨越请求问题,导致status一直等于0,原来是这么写的:

xmlhttp.open("GET", "http://192.168.118.129:8001/test_react_action?user_name=" + values.userName, true);
xmlhttp.send();

被解析为跨越访问了,这个时候需要在dva中添加代理才能访问,方法如下:

修改.roadhogrc文件:

{
  "entry": "src/index.js",
  "env": {
    "development": {
      "extraBabelPlugins": [
        "dva-hmr",
        "transform-runtime",
        ["import", { "libraryName": "antd", "style": "css" }]
      ]
    },
    "production": {
      "extraBabelPlugins": [
        "transform-runtime"
      ]
    }
  },
  "proxy": {
      "/api": {
        "target": "http://192.168.118.129:8001/",
        "changeOrigin": true,
        "pathRewrite": { "^/api" : "" }
      }
    }
}

添加完红色部分代码以后,直接‘/api/test_react_action’就能访问了。

xmlhttp.open("GET", "/api/test_react_action?user_name=" + values.userName, true);
xmlhttp.send();

注意:如果同是本地的服务器,代理可能不能识别,我这192.168.118.129是单独的一个服务,不在同一个ip。

 

以上是关于解决ant Design dva ajax跨越请求 (status=0)的主要内容,如果未能解决你的问题,请参考以下文章

ant design环境搭建过程中遇到的问题--Windows-dva-cli

umi + dva + ant-design-mobile快速搭建H5项目

ant design 中,使用dva/fetch 设置导致无法从后台导出excel的问题

Ant Design Pro —— 开箱即用的中后台解决方案 | 软件推介

005-ant design pro 新增业务组件

ant-design-pro中的状态管理