2016-01-31 25 views
4

美好的一天。我試圖發送簡單的發佈數據到服務器。這是我怎麼做的代碼。目標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與實際的字符串,其中包含鍵和值分離評分&,但數據不會被髮送,你可以看到。所以我做錯了什麼?請告訴別人

+0

嗯嚴重嗎?沒有人? –

回答

0

Http身體必須是NSData類型。嘗試以下代碼

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

好的,讓我試試這個 –

相關問題