我有一个问题,我正在向WebAPI控制器发出GET
,基本上是这样的:
$.getJSON('/api/feefo/getproductfeedback?id='+ encodeURIComponent(skuNum))
我正在使用encodeURIComponent
来对skuNum
参数进行网址编码,在开发工具中查看请求我得到了需要编码的skuNum
的预期结果:
skuNum
已按预期从1000EF+
变为1000EF%2B
。
但是,当我在WebAPI控制器中查看id
参数时,它是通过未编码的方式进行的:
就好像客户端网址编码在某种程度上被撤消,有人能解释这里发生了什么吗?显然我可以通过在控制器中进行编码来解决这个问题,但我想了解为什么会发生这种情况。
答案 0 :(得分:1)
这是设计上的。默认情况下,API框架将解码URL编码的参数。编码只应用于传输数据。一旦在服务器开发人员不应该处理必须解码它(横切关注)。按预期使用该值。