2
我在那裏我發出GET
到的WebAPI控制器的問題,基本上是被UrlDecoded請求參數:我使用encodeURIComponent
到URL編碼的skuNum
參數的WebAPI獲得在控制器
$.getJSON('/api/feefo/getproductfeedback?id='+ encodeURIComponent(skuNum))
,觀看在開發工具的請求,我得到一個skuNum
需要進行編碼預期的結果:
的skuNum
如預期的那樣,從1000EF+
變爲1000EF%2B
。
然而,當我認爲在的WebAPI控制器的id
參數,它是通過未來的未編碼:
就好像客戶端的URL編碼而復不知何故,誰能解釋一下什麼是去這裏?很明顯,我可以通過在控制器中進行編碼來解決這個問題,但我想知道爲什麼會發生這種情況。
這是設計。 API框架將默認解碼URL編碼參數。編碼只能用於傳輸數據。一旦服務器開發人員不必處理必須對其進行解碼(橫切關注)。按預期使用該值。 – Nkosi
@Nkosi謝謝,我猜是有道理的。隨意添加這個答案,它可能會幫助其他人。 – DGibbs