1. 程式人生 > >Abp Zero AJAX請求(文件上傳)出現400 bad request 錯誤問題解決

Abp Zero AJAX請求(文件上傳)出現400 bad request 錯誤問題解決

class clas pic php http security str pro tps

使用abp框架,使用了Zero模塊。再使用Element ui進行上傳圖片。出現400 bad request錯誤請求。

用postman傳數據到接口時正常工作的。

經過幾經波折,終於找到問題是nati token的問題。 https://forum.aspnetboilerplate.com/viewtopic.php?f=5&t=10025&sid=5b3ace20a25195168c29846975df630d

因為element ui 不是abp的部分。他使用的ajax請求沒有包含antiForgery token。所以被abp框架視為是跨站攻擊的請求,所以返回了400錯誤。同理,用jquery的ajax方法去請求數據也是會出現這錯誤的。

用postman能夠正確請求,因為postman沒有使用apb view頁面,沒有設置antiForgery token。所以可以上傳文件。

解決辦法是在請求頭加X-XSRF-TOKEN。

那麽問題變成了,如何獲取antiForgery token。

答案是,使用abp封裝的方法: abp.security.antiForgery.getToken()。 https://aspnetboilerplate.com/Pages/Documents/XSRF-CSRF-Protection

Abp Zero AJAX請求(文件上傳)出現400 bad request 錯誤問題解決