最近我在進行在jQuery中添加請求頭時遇到了困難。最初,我的代碼如下:
$.ajax({ url: "example.com", type: "GET", headers: { "Authorization": "Bearer token123" } });
然而,當我檢查瀏覽器的開發者工具時,我發現我的請求頭并沒有添加“Authorization”信息。
我嘗試了幾種不同的方法,包括使用beforeSend選項和創建一個新的XMLHttpRequest對象。然而,這些方法都沒有成功。
$.ajax({ url: "example.com", type: "GET", beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Bearer token123"); } });
var xhr = new XMLHttpRequest(); xhr.open("GET", "example.com", true); xhr.setRequestHeader("Authorization", "Bearer token123"); xhr.send();
我開始研究了這個問題,并發現它可能是由于瀏覽器的安全策略導致的。某些瀏覽器可能會禁用某些請求頭,以防止跨站點腳本攻擊(XSS)。
在我的研究中,我還發現可以在服務器端設置響應頭來接受請求頭。
Access-Control-Allow-Headers: Authorization
這解決了我的問題,讓我能夠成功添加請求頭。我希望這篇文章對于遇到相同問題的人有所幫助。