ios – 目标c请求不发送数据

前端之家收集整理的这篇文章主要介绍了ios – 目标c请求不发送数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
美好的一天.我试图将简单的帖子数据发送到服务器.这是我如何做的代码.

-(void)makeRequest:(NSString*)stringParameters{
    NSError *error;

    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
    NSURL *url = [NSURL URLWithString:@"http://vaenterprises.webatu.com/Authentication.PHP"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:60.0];

    [request addValue:@"application/text" forHTTPHeaderField:@"Content-Type"];
    [request addValue:@"application/text" forHTTPHeaderField:@"Accept"];
    [request setHTTPMethod:@"POST"];
     NSString* postData = @"tag=hello&username=yo&something=something";
    [request setHTTPBody:postData];



    NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data,NSURLResponse *response,NSError *error) {

        [self parseJson:data];
    }];

    [postDataTask resume];


}

它看起来很棒,直到我像这样回复PHP端的整个帖子

echo json_encode($_POST);

我像这样在iOS上打印结果

-(void)parseJson:(NSData*) data{
    NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSError *jsonError = nil;
    NSDictionary* jsonObject= [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
    NSLog(@"%@",myString);
}

这个问题是我得到空字符串…所以它意味着发布数据不发送,这是10000%客观c方面的问题,我不知道为什么它所以在这个方法中我们只得到setHttpBody与实际的字符串,其中包含键和值由&分隔但是你发现的数据并没有被发送.所以我做错了什么?请告诉别人

解决方法

Http正文必须是NSData类型.试试下面的代码

NSString* stringData = @"tag=hello&username=yo&something=something";
NSData* data = [stringData dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];

猜你在找的iOS相关文章