成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

記一次eggjs+axios傳輸multipart的糾錯(cuò)過(guò)程

CarterLi / 2129人閱讀

摘要:總所周知,的策略讓每次都要發(fā)送碼驗(yàn)證,為了方便,我在的里作了前置攔截。結(jié)果不幸從此發(fā)生最開(kāi)始沒(méi)有看官方文檔,以為應(yīng)該加在里面,又沒(méi)有考慮到要上傳格式的文檔,所以直接結(jié)果發(fā)送的是。這很正常,閱讀源碼知為時(shí)會(huì)自動(dòng)添加的頭。不加又以上傳了。

總所周知,egg的csrf策略讓post每次都要發(fā)送token碼驗(yàn)證,為了方便,我在axios的interceptor里作了前置攔截。

結(jié)果不幸從此發(fā)生!
最開(kāi)始沒(méi)有看官方文檔,以為csrf應(yīng)該加在data里面,又沒(méi)有考慮到要上傳multipart/form格式的文檔,所以直接 config.data = Assign({...data},{_csrf})
結(jié)果發(fā)送的type是application/type。這很正常,閱讀源碼知data為Obj時(shí)會(huì)自動(dòng)添加application的頭。

于是強(qiáng)行設(shè)置multipart/part的header,導(dǎo)致后端出現(xiàn)boundary not found
boundary作為請(qǐng)求的一部分,應(yīng)由瀏覽器查看并正確設(shè)置,這點(diǎn)有后端經(jīng)驗(yàn)的都很清楚,強(qiáng)行加boundary肯定沒(méi)用。不加又以application上傳了。

沒(méi)辦法,只有覆寫(xiě)transferRequest,然后更改config.data為config.data.append(_csrf,xxx),至此瀏覽器成功正確設(shè)置multipart頭

PS:主動(dòng)設(shè)置multipart頭完全無(wú)效,axios源碼里探測(cè)到multipart頭就會(huì)刪除它,網(wǎng)上不懂的人不要亂說(shuō)行不行,中國(guó)論壇就是這種垃圾風(fēng)氣,沒(méi)試過(guò)沒(méi)看過(guò)就開(kāi)始傳播。。。。。。
PS2:沒(méi)搞懂egg 安全策略默認(rèn)禁止options請(qǐng)求,我怎么跨域呢????????????????????又回到上古世紀(jì)的jsonp或者只能proxy了???????

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/109938.html

相關(guān)文章

  • 一次騰訊霸面---前端

    摘要:客戶(hù)端的瀏覽器根據(jù)雙方同意的安全等級(jí),建立會(huì)話密鑰,然后利用網(wǎng)站的公鑰將會(huì)話密鑰加密,并傳送給網(wǎng)站。地址必須和一個(gè)網(wǎng)絡(luò)掩碼對(duì)應(yīng)使用缺一不可。網(wǎng)絡(luò)掩碼的主要作用是告訴計(jì)算機(jī)如何從地址中析取網(wǎng)絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí)。 霸面的是前端實(shí)習(xí)生崗位,當(dāng)時(shí)聽(tīng)同學(xué)說(shuō)前端缺人,還特意設(shè)了一個(gè)霸面區(qū),就去溜了個(gè)彎兒,畢竟不試試,怎么知道自己有多菜呢o( ̄︶ ̄)o一面技術(shù)面,面試官關(guān)注的點(diǎn)一直在數(shù)據(jù)結(jié)構(gòu)、算法、計(jì)...

    ralap 評(píng)論0 收藏0
  • 一次vue仿網(wǎng)易云音樂(lè)單頁(yè)面應(yīng)用

    摘要:說(shuō)明一直想做一個(gè)基于的項(xiàng)目但是因?yàn)轫?xiàng)目往往要涉及到后端的知識(shí)不會(huì)后端真的苦所以就沒(méi)有一直真正的動(dòng)手去做一個(gè)項(xiàng)目。直到發(fā)現(xiàn)上有網(wǎng)易云音樂(lè)的才開(kāi)始動(dòng)手去做。僅僅完成了首頁(yè)登入,歌單,歌曲列表頁(yè)。 說(shuō)明 一直想做一個(gè)基于VUE的項(xiàng)目,但是因?yàn)轫?xiàng)目往往要涉及到后端的知識(shí)(不會(huì)后端真的苦),所以就沒(méi)有一直真正的動(dòng)手去做一個(gè)項(xiàng)目。直到發(fā)現(xiàn)GitHub上有網(wǎng)易云音樂(lè)的api NeteaseCloud...

    hqman 評(píng)論0 收藏0
  • jwt前后端整合方案

    摘要:到這里,基于的前后端分離實(shí)現(xiàn)方案就搞定啦四關(guān)于的一些思考實(shí)際上,在使用的過(guò)程中有一個(gè)比較致命的缺點(diǎn),就是一旦簽發(fā)了,在到期之前就會(huì)始終有效,除非服務(wù)器部署額外的邏輯。結(jié)語(yǔ)以上是關(guān)于基于的前后端分離實(shí)現(xiàn)方案的總結(jié)和思考。 一、jwt是什么 JWT全稱(chēng), JSON Web Token,是一個(gè)以JSON為基準(zhǔn)的標(biāo)準(zhǔn)規(guī)范。 舉例:服務(wù)器認(rèn)證以后,生成一個(gè) JSON 對(duì)象,發(fā)回給用戶(hù),就像下...

    nevermind 評(píng)論0 收藏0
  • Eggjs小試

    摘要:項(xiàng)目都很小,但為了進(jìn)一步了解,特意選擇了作為框架基礎(chǔ)開(kāi)發(fā)后端服務(wù)。能將請(qǐng)求限制在同源網(wǎng)站,即只有擁有專(zhuān)有令牌的網(wǎng)站發(fā)送請(qǐng)求才會(huì)正確響應(yīng)。項(xiàng)目生產(chǎn)靜默部署,啟動(dòng)使用,停止使用。不足工具函數(shù)的訪問(wèn)需要自己手動(dòng)添加擴(kuò)展另沒(méi)有寫(xiě)測(cè)試,希望下次補(bǔ)上。 前言 這段時(shí)間,用Eggjs作為后端服務(wù)框架開(kāi)發(fā)了幾個(gè)項(xiàng)目。項(xiàng)目都很小,但為了進(jìn)一步了解Eggjs,特意選擇了Eggjs作為框架基礎(chǔ)開(kāi)發(fā)后端服務(wù)。...

    waltr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<