2016-09-29 17 views
0

AFNetworkingを使用してパラメータを投稿すると、NSMutableDictionaryとなり、この要求は成功します。NSURLSessionでHTTPBodyはNSDataでなければなりませんか?

しかし、NSURLSessionを使用した場合、self.request!.HTTPBodyはNSDataでなければならず、要求は失敗しました。

NSURLSessionを使用して要求を成功させるにはどうすればよいですか?

postDict[@"jgId"] = "1000000000"; 
[manager GET:SELECTDEPART parameters:postDict success:^(AFHTTPRequestOperation *operation, id responseObject) { 

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"-----%@", error); 
}]; 

//use NSData 

NSJSONSerialization.dataWithJSONObject(postDict, options: NSJSONWritingOptions.PrettyPrinted) 

私を助けてください。

答えて

0
let params = ["jgId": "1000000000"] 
let data = try? JSONSerialization.data(withJSONObject: params, options: [JSONSerialization.WritingOptions(rawValue: 0)]) 

var request = URLRequest(url: URL(string: "https://my-url.com")!, cachePolicy: .returnCacheDataElseLoad, timeoutInterval: 30) 
request.httpMethod = "POST" 
request.httpBody = data 
request.allHTTPHeaderFields = [:] 

URLSession.shared.dataTask(with: request) { (data, response, error) in 

} 
+0

GET要求を行うために、次のコードを使用NSURLSession –

0

サーバーからデータを要求するためにGETメソッドを使用しているため、リクエストのHTTPBodyデータによってパラメータが送信されません。あなたのパラメータはリクエストURL経由で単純です。

ご質問には、をパラメータとしてSELECTDEPARTのリクエストURLがあります。 OPがobj C.と連携しているので、あなたはObjective Cのではない迅速に答えを与える必要がparameters

関連する問題