我在跨域上傳項目中使用FineUploader 3.7。一切都很好,直到我將代碼移動到具有簡單身份驗證的客戶端DEV服務器。當預檢請求發送到服務器時,是否有方法將認證信息嵌入到表單中?FineUploader - 在標頭中添加身份驗證
我試圖在頭文件中嵌入基本身份驗證,但無法正常工作。請參考下面的代碼:
$.ajaxSetup({
headers: {
'Authorization': "Basic YZVjaGFmbWluOkNieWxjBTY3"
},
beforeSend: function (jqXHR, settings) {
jqXHR.setRequestHeader('Authorization', 'Basic YZVjaGFmbWluOkNieWxjBTY3');
}
});
甚至更多,我已經嘗試設置自定義頁眉和沒有運氣:
var manualuploader = new qq.FineUploader({
customHeaders: {
'Authorization': 'Basic YXVjaGFkbWluOkNieWxjZTY3'
},....
嗨雷,感謝您的反饋,但它仍然無法正常工作。由於在文件上傳過程中有兩個請求。第一個「預檢」請求因401授權錯誤而失敗。我檢查了Fiddler中的頭文件,其中沒有授權標頭。我錯過了別的東西嗎? – Peng
預檢不包含任何自定義標題。 Fine Uploader無法控制這一點,這只是CORS的工作方式。如果預檢由您的服務器正確處理,那麼原始請求將由具有授權標頭的瀏覽器發送。如果您在跨源環境中工作,則應將服務器設置爲正確響應預檢(OPTIONS)請求。 –
非常感謝雷。對於延遲響應抱歉....另外一個關於預檢OPTIONS請求的問題,我們的客戶說他們的服務器禁止http方法「OPTIONS」。他們要求我們刪除這個「OPTIONS」請求。但是,根據您最後的評論,我想在我們的CROS情況下無法刪除「選項」。我對嗎? – Peng