axios发起Get/Post请求时未携带请求头信息的问题排查
问题分析与解决方案
嘿,我一眼就发现问题所在了——你对axios.get的参数结构理解有误,这才导致请求头没被正确携带上!
核心错误原因
axios.get方法只接受两个参数:
- 第一个是请求的URL
- 第二个是配置对象,这个对象里可以同时包含
params(URL参数)、headers(请求头)等配置项
你现在把params和headers拆成了两个独立的对象作为第二、第三个参数传入,axios根本不会识别第三个参数,所以你的请求头完全没被加到请求里,浏览器自然检测不到。
修正后的代码
把params和headers合并到同一个配置对象里就行:
const restURL = ''; const config = { params: { posts_per_page: 50, lang: 'bn' }, headers: { 'Access-Control-Allow-Headers': 'x-access-token', 'X-WP-Nonce': 'my-wp-nonce-here' } }; // 建议统一用await或者then,不要混写(这里用await示例) try { const response = await axios.get(restURL, config); console.log(response.data); } catch (error) { console.error('请求出错:', error); }
额外小提示
你原来的代码同时用了await和.then(),虽然语法上不报错,但属于冗余写法,建议二选一:要么用await配合try/catch处理异步逻辑,要么用.then()/.catch()链式调用,这样代码更清晰。
内容的提问来源于stack exchange,提问作者Shah Alom
相关产品推荐
相关产品推荐

