有没有啥方法可以在没有 Json 的 NSData 的情况下单独发布参数
Posted
技术标签:
【中文标题】有没有啥方法可以在没有 Json 的 NSData 的情况下单独发布参数【英文标题】:Is there any way to post parameters individually without NSData for Json有没有什么方法可以在没有 Json 的 NSData 的情况下单独发布参数 【发布时间】:2017-03-14 11:31:02 【问题描述】:有没有什么方法可以在没有 Json 的 NSData 的情况下单独发布参数
这是我的代码:
NSData *jsonInputData = [NSJSONSerialization dataWithJSONObject:datDict options:NSJSONWritingPrettyPrinted error:&error];
[req setHTTPBody: jsonInputData];
我们可以附加单独的参数而不是 jsonInputData 吗?
【问题讨论】:
如果请求方法是 GET 类型,您只需附加“?parameter name = value”即可将请求作为查询参数发送。如果请求类型是 post 并且它需要 JSON,则必须将其转换为 NSData 请求类型为POST @sireesha 用字典发送数据 @Jigar 我自己发送数据。但根据要求,我需要将参数单独传递给 HTTPBody。我不明白如何传递这些参数。我尝试使用 NSString 类型,但应用程序崩溃了。那么有没有办法将参数单独传递给 HTTPBody ?PFB 代码 NSString* jsonString = [[NSString alloc] initWithData:jsonInputData encoding:NSUTF8StringEncoding]; [请求 SETHTTPBody: jsonString]; 【参考方案1】:NSString *params=[[NSString alloc]initWithFormat:@"mobile=%@& uid=%@ & sim_code=%@ & operator_code=%@ & operator_name=%@ & otp=%@",num,uuid,dail,dailingcode,carrier.carrierName,randomCode];
NSString *mainUrl=[NSString stringWithFormat:@"%@%@",urlLinkA,methodName];
NSURL * url = [NSURL URLWithString:mainUrl];
NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:url];
//NSString * params=[[NSString alloc]initWithFormat:@"mobile=%@",[self.reqnum text]];
NSLog(@"parameter %@",parameters);
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[parameters dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionDataTask * dataTask =[defaultSession dataTaskWithRequest:urlRequest
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
NSLog(@"Response:%@ %@\n", response, error);
if(error == nil)
【讨论】:
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) if(data) [self jsonGetParse:data]; ]; 但我替换的方法已弃用,我可以进一步使用 用这个替换:我猜它会起作用 [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data,NSURLResponse *response,NSError *error) // Block Body ];以上是关于有没有啥方法可以在没有 Json 的 NSData 的情况下单独发布参数的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以在不将 CIImage 转换为 UIImage 或 CGImage 的情况下将 CIImage 转换为 NSData?
NSData writeToFile 返回 NO 没有任何错误