我是 iOS 和 AFNetworking 的新手。我习惯了 Titanium 以及使用类似于 Javascript 中的 xhr 的模型发布和获取数据的非常简单的方法。我向我的服务器发送一个 Post 请求并取回 JSON。它在 Titanium 中完美运行,但我花了很长时间让它在本地工作。
在对 Titanium 的后端进行了一些研究之后,他们似乎正在使用 ASI,我觉得这很有趣。现在看来 AFNetworking 是替代方案,因为 ASI 不再更新。但是,当我在下面发送请求时,它会收到 text/html 响应而不是 JSON 响应。我猜这是因为参数以及它们的发送方式。
在另一个 StackOverflow 问题上,需要向服务器提供标准发布变量的人,而服务器用 JSON 响应,这正是我需要做的。建议是在您的 AFHTTPClient 中将“parameterEncoding 设置为 AFFormURLParameterEncoding”,但我不知道该怎么做。如果有人可以帮助我解决这个问题,我将永远感激不尽。如果这有助于任何人弄清楚这一点,我可以提供实际的邮寄地址和虚拟用户/通行证。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username": @"dummyusername",@"password":@"dummypassword"};
NSString *URLString = @"https://www.webaddress.com/index.php?ACT=71";
[manager POST:URLString parameters:parameters constructingBodyWithBlock:^( id<AFMultipartFormData> parameters ){} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];