环境 --
前端:Vue-cli 4.3.1
后端:Apache || Nginx+Thinkphp5
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");
console.log(this.content.length + this.html.length);
√已解决
感谢各位的回答,这源自于我对HTTP协议不够熟悉,我查看了下Apache的日志,发现报了个414错误
- 解决办法1:
修改 Apache的httd.conf,在listen 80 下面添加
``` apache
LimitRequestLine 40900
LimitRequestFieldSize 40900
```
[Nginx则是(点我前往)](https://www.cnblogs.com/onmyway20xx/p/4469202.html)
``` Nginx
client_header_buffer_size 8k
large_client_header_buffers 8k
```
- 解决办法2:
但事实上我不希望去修改服务器配置,于是查了下,网上说可以使用post请求,我实际上试过了没用,然后查了下axios的使用方法,发现不同于jQuery axios需要配置Content-Type
import Qs from 'qs' // 用Qs.stringify()将对象序列化成URL的形式,Qs是axios里面自带的,所以直接引入就可以了
params = Qs.stringify(params);
this.axios
.post(this.global_.api+'index.php/index/index/addMsgList',
params
,
{
headers:{'Content-Type':'application/x-www-form-urlencoded'}
})
.then(response => {
console.log(response.data.data);
});
设置了Content-Type后用post请求就没问题了。。。
感谢各位的回答!
可能超长了,服务器对 get 请求有字符长度限制吧,换 post 试试
谢谢,我曾试过post,但是无效,发现axios需要自己设置Content-Type,现在没问题了!