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,没有值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JSON 格式解析通过 AFNetworking 1.0 获得的响应

第一信使即细胞外信号,胞内信号为第二信使。

“第二信使”都有哪些?与它作用的物质都有哪些?

使引导容器大小变大会使页面无响应

Css使Div自适应居中

如何用word使图片上下居中