场景
项目使用vue封装了组件,this.$http.post() 发送payload请求获取页面数据, 但是后面追加了需求导出文件,
fileDownload 发送post请求,但是复用的代码没有办法获取入参;
看了fileDownload的源码,不支持对contentType的修改 所以emm...
分析
payload形式的post请求和formData形式的post请求对于参数的获取是两种完全不同
payload 是file_get_content(‘php://input’);
formData是 $_POST
解决
. 后端代码更好方便一些
/**
* 获取payload && formData数据
* @return array
*/
public function genParamsForPost()
{
$request_body = file_get_contents('php://input');
$request_body = json_decode($request_body, true);
return array_merge(I('post.'), (array)$request_body);
}