AFNetWorking 提交 NSArray 类型参数 取不到值的解决办法

在使用AFNWorking 提交参数的时候, 其中包含NSArray类型的参数, 但是后台可以接收到普通int, string 类型的参数,就是接收不到array类型的,

google后发现原来AFN 提交array参数的时候是将参数名转为了

...&imgs[]=xxx&imgs[]=xxx

我擦, 太坑了(详见issue437)

官方给了几种办法, 最靠谱的应该是 将 client 的 requestSerializer 设置为

httpClient.requestSerializer = [AFJSONRequestSerializer serializer];

还有就是自己将array拼成字符串比如imgs=xxx&imgs=xxx

或者就是接受变态的 imgs[] 参数名

时间: 2024-08-08 05:38:39

AFNetWorking 提交 NSArray 类型参数 取不到值的解决办法的相关文章

ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”解决办法

ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”解决办法 今天遇到的一个问题: 直接修改数据表中的某些字段数据内容时报错: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值”解决办法 上网查询发现解决途径有: 法1,数据库字符集应该是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义 中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长.这种情况下

svn提交时提示 Aborting commit: remains in conflict 解决办法,更改svn服务地址

问题: 我们的服务器换了新的URL地址,这时候我们本地的SVN访问帐号和地址就要重新定义了. 解决步骤: 1:重新定义SVN的URL,右键(TortoiseSVN) → Relocate → 输入你新的IP地址 问题解决! svn提交时提示 Aborting commit: remains in conflict 解决办法 问题: 我们的服务器换了新的URL地址,这时候我们本地的SVN访问帐号和地址就要重新定义了. 解决步骤: 1:重新定义SVN的URL,右键(TortoiseSVN) → Re

input为disabled提交后得不到该值的解决方法

input的字段当为diabled时时无法获取数值得,所以最近不要用这个,我们可以用readonly带替代,即可解决这类问题 放在form表单中提交后得不到该值. 将disabled=”disabled” 改为 readonly = “readonly” 即可 按照W3C的规范:http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.12 设置为disabled的input将会有下面的限制: 不能接收焦点 使用tab键时将被跳过 可能不是

安卓activity之间值共享解决办法,tabhost之间共享父类值

1.tabhost父类值共享的解决办法 dianzhanliebiao.java是传值页面,zhuyemian.java放的是tabhost,dianzhangaikuang.java是tabhost的具体子布局 首先dianzhanliebiao.java传值 intent.putExtra("id", “1234”);        intent.setClass(dianzhanliebiao.this, zhuyemian.class);        dianzhanlieb

AFNetworking POST 请求参数保存在Body 中的解决办法

1)首先区分一下,get和post的区别 get方法,会将参数放到url中,属于透传,相对于post放到content中的安全性低 2)使用AFNetworking,默认HTTPMethodsEncodingParametersInURI里面包含的只有`GET`, `HEAD`, 和 `DELETE` .不知道情况的情况下使用POST方法的话,会将用户传递的参数放到Body里面,导致服务端JSP通过request.getParameters()获取不到参数. 3)通过xcode定位代码,发现在r

从客户端中检测到有潜在危险值的解决办法

问题描述: 针对"http://...?name=&age="这样的请求,使用Request.Form和Request.QueryString方法接收数据,会出现:从客户端(....)中检测到有潜在危险值...的错误提示. 问题原因: 由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值.环境配置会报出"从客户端 中检测到有潜在危险值"这样的Error. 解决方案: 方案1: (1)

AFNetworking发送和接收字符串时报3840错误的解决办法

AFNetworking框架默认请求类型和响应类型都是JSON格式的,在特殊情况下,我们使用字符串形式的时候,就会报3840错误,如何解决呢? 设置请求管理者: // 因为传递过去和接收回来的数据都不是json类型的,所以在这里要设置为AFHTTPRequestSerializer和AFHTTPResponseSerializer mgr.requestSerializer = [AFHTTPRequestSerializer serializer];// 请求 mgr.responseSeri

ajax请求后台,有时收不到返回值的解决办法

昨天下午做项目遇到一个问题,贴出来方便以后翻阅,也给大家个参考. 问题: 具体做的是个文件导入的功能,导入的功能是成功了,但是界面一直得不到返回值,排查了一下午,调试的时候是可以有返回的,但是关掉浏览器调试界面,却得不到返回结果. 原因: 一直以为是我后台程序有问题,晚上回到家才想起来ajax的问题,把ajax的异步处理改为同步,就出来效果了,具体的原因请看下文详解. jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到A

[django/mysql] 使用distinct在mysql中查询多条不重复记录值的解决办法

前言:不废话.,直接进入正文 正文: 如何使用distinct在mysql中查询多条不重复记录值? 首先,我们必须知道在django中模型执行查询有两种方法: 第一种,使用django给出的api,例如filter value distinct order_by等模型查询api; 代码:LOrder.objects.values('finish_time').distinct() 这里应注意,原官方文档中写到: 示例(第一个之后的示例都只能在PostgreSQL 上工作): >>> Au