前端传递超长参数,前端与后端对应处理

当前端需要给后端传递对象集合,通常对象集合会很长,这样传递到后端时是接收不到相应参数的值的,因为被屏蔽了。

一般会报错,,URL参数过长,或者接口直接302,,根本访问不到接口

长字符串传值,前端用encodeURIComponent编码,后端用HttpUtility.UrlDecode解码

前端:encodeURIComponent为jquery自带的编码方式

var object = { "Id": id, "Description": Content };
$.post('.../Admin/Content/ModifyContent',
    { str: encodeURIComponent(JSON.stringify(object)), },
    function (data) {

    })

后端接收:

 public void ModifyContent( string str)
 {
     
         //长字符串传值,前端用encodeURIComponent编码,后端用HttpUtility.UrlDecode解码
         var result = HttpUtility.UrlDecode(str);
         var model = JsonMapper.ToObject<WebContentShiftViewModel>(result);
         
   
 }

此贴为记录贴,欢迎大家提供更多解决方式。

另外一种解决方式,有可能行,在web.config中的加入

<system.web>
        <httpRuntime useFullyQualifiedRedirectUrl="true" executionTimeout="120" maxRequestLength="1024000000"/>
  </system.web>

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值