AFJSONParameterEncoding 使数据成为整个key,没有值
Posted
技术标签:
【中文标题】AFJSONParameterEncoding 使数据成为整个key,没有值【英文标题】:AFJSONParameterEncoding makes the data the entire key and there is no value 【发布时间】:2013-03-10 20:00:48 【问题描述】:下午好!
我正在尝试做一个简单的 POST 请求并将我的参数作为 JSON 发送到我的 Django 服务器。代码如下:
NSDictionary* params = [[NSDictionary alloc] initWithObjectsAndKeys: @"TestContent", @"content", nil];
[[objectManager HTTPClient]setParameterEncoding:AFJSONParameterEncoding];
[[objectManager HTTPClient]postPath:@"/api/rest/content/add/" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject)
...
回到我的 Django,request.POST 看起来像这样:
print >> sys.stderr, "%s" % request.POST
输出
<QueryDict: u'"content":"TestContent"': [u'']>
好像整个 JSON 是 request.POST 的“关键”。为什么要这么做?!我该如何使用它?!
谢谢!
【问题讨论】:
【参考方案1】:这不是表单编码的数据,所以不要使用request.POST
。请改用request.body
访问数据。
【讨论】:
效果不错……哇。那么,我应该一直使用 [[objectManager HTTPClient]setParameterEncoding:AFJSONParameterEncoding]; 吗?它更安全吗?优点和缺点?再次感谢!以上是关于AFJSONParameterEncoding 使数据成为整个key,没有值的主要内容,如果未能解决你的问题,请参考以下文章