cro*_*rox 19 json content-type objective-c ios afnetworking
我遇到了AFNetworking的问题.我无法设置content-type到application/json.我能怎么做?我尝试了很多解决方案,但没有人工作过.这是你的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
if (self.enableBasicAuth){
[manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:[[SOWMerchant merchant] username] password:[[SOWMerchant merchant] password]];
}
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager POST:[NSString stringWithFormat:@"%@", url] parameters:postData success:^(AFHTTPRequestOperation *operation, id responseObject) {
[self onSuccessResponse:responseObject request:operation];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self onError:error request:operation];
}];
Run Code Online (Sandbox Code Playgroud)
我收到了这个回复
{ URL: https://sbengtest.spotonway.com:9099/v1.0/merchant/check }, response: <NSHTTPURLResponse: 0x10aa20530> { URL: https://sbengtest.spotonway.com:9099/v1.0/merchant/check } { status code: 400, headers {
Connection = "keep-alive";
"Content-Length" = 192;
"Content-Type" = "text/html";
Date = "Sun, 20 Jul 2014 22:34:59 GMT";
Server = "nginx/1.2.1";
} }>
Run Code Online (Sandbox Code Playgroud)
更新:
我试着添加这个
AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
operationManagerInstance.requestSerializer = requestSerializer;
Run Code Online (Sandbox Code Playgroud)
我的应用崩溃了
更新2:它的工作原理.我删除了这一行
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
Run Code Online (Sandbox Code Playgroud)
tha*_*rem 10
这对我有用!
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
Run Code Online (Sandbox Code Playgroud)
本代码工作
Objective-C的
manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/html"];
Run Code Online (Sandbox Code Playgroud)
迅速
manager.responseSerializer.acceptableContentTypes=NSSet (object: "text/html") as Set<NSObject>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18491 次 |
| 最近记录: |