antdpro传参数到后台,接收不到,响应无返回数据

首先antdesignPro需要在config中配置代理,这样才会跨域名发送请求,F12中的request头的路径还是localhost:8000这是npm start的路径,看响应数据即可。

config/config

proxy: {

    '/api/': {

      target: 'http://localhost:8080/innovation_park_center/',

      changeOrigin: true,

      pathRewrite: { '/': '' },

    },

  },

其中/api路径可以改成其他的,但对应得server也得改request路径

export async function queryFakeList(params) {

  return request('/api/active/dept_list', {

    params,

  });

}

然后request是在src/utils/request中引入的可以设置响应超时设计,和请求request的requestType为formdata正常情况是payload所以获取不到参数。

const request = extend({

  errorHandler,

  // 默认错误处理

  credentials: 'include', // 默认请求是否带上cookie

  // prefix: '',

  timeout: 30000,

  headers: {

    'Content-Type': 'application/x-www-form-urlencoded',

  },

  requestType: 'form', //post request data type

});

export default request;


以上是设置请求时间,timeout默认1000如果超出时间为响应数据即无数据返回,并且设置headers,这样后台就可以直接获取数据httpservletrequest。这个是全局的,也可以server局部设置。

export async function fakeAccountLogin(params) {
  console.log(JSON.stringify(params));
   return request('/api/login/account', {
    method: 'POST',
    // method: 'GET',
    data: params,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
    },
    requestType: 'form', //post request data type
  });
}

参数设置可以自行百度HTTP payload formdata看原理。

你可能感兴趣的:(antdesignpro,antdesignpro,传参,超时,响应无数据,fetch)