一般的前端函式庫發送ajax的請求後,回應物件headers裡都會有X-Requested-With:XMLHttpRequest#但是axios發送的ajax請求,回應頭裡卻沒有這個欄位
ajax
headers
X-Requested-With:XMLHttpRequest
axios
如何在nodejs程式碼裡截獲axios發送的前端請求呢?
想每個請求都加 X-Requested-With header :
X-Requested-With
axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
要截獲發送的 ajax ,好像測試時一樣用 spy 替換掉 XMLHttpRequest 原本的方法就可以了。
XMLHttpRequest
axios 為什麼不預設加上這個 header 我也想不通。 。 。
加代理插件攔截下
你確定是axios 的問題嗎,換個工具試過嗎,ajax、axios都只是傳輸http 請求的工具,所以我要指明樓主的axios 發送的ajax 請求這個說法本身是有誤的,另外不知道你後台怎麼寫的,跨域的時候沒有配置可接受的請求頭也會造成拿不到指定的header資料,"Access-Control-Allow-Headers": "X-Requested-With"
"Access-Control-Allow-Headers": "X-Requested-With"
想每個請求都加
X-Requested-With
header :要截獲發送的 ajax ,好像測試時一樣用 spy 替換掉
XMLHttpRequest
原本的方法就可以了。axios 為什麼不預設加上這個 header 我也想不通。 。 。
加代理插件攔截下
你確定是axios 的問題嗎,換個工具試過嗎,ajax、axios都只是傳輸http 請求的工具,所以我要指明樓主的axios 發送的ajax 請求這個說法本身是有誤的,另外不知道你後台怎麼寫的,跨域的時候沒有配置可接受的請求頭也會造成拿不到指定的header資料,
"Access-Control-Allow-Headers": "X-Requested-With"