在vue-resource 里面加header头的时候,get请求正常加入,但post,没有正常加上,这种情况是因为options.emulateHTTP覆盖导致的,在请求拦截器里面加请求头也不行,所以解决方案是全局写死请求头:

Vue.http.options.emulateHTTP = true;
Vue.http.options.headers = {
    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}

这样写入之后会导致,BODY参数错误,所以需要在全局请求拦截器里面重新解析BODY数据

let body = request.body
if (body) {
    let array = []
    for (var key in body) {
        array.push(key + '=' + body[key])
    }
    request.body = array.join('&')
}

这样所有参数都会正常,header也就加上了。

Logo

前往低代码交流专区

更多推荐