在NSURLSession中没有得到结果

问题描述:

在使用swift 2.2时,在使用NSURLSession时我没有得到Response。我究竟做错了什么?在NSURLSession中没有得到结果

我必须在POST请求中传递参数和标题。

func API() { 

    let userName:String! = "uname" 
    let password:String! = "password" 

    let request = NSMutableURLRequest(URL: NSURL(string: URL)!) 
    request.HTTPMethod = "POST" 

    let data = try! NSJSONSerialization.dataWithJSONObject(parameter, options:[]) 
    let json = NSString(data: data, encoding: NSUTF8StringEncoding) as! String 
    request.HTTPBody = json.dataUsingEncoding(NSUTF8StringEncoding) 
    request.allHTTPHeaderFields = ["key":"value"] 

    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in 
     guard error == nil && data != nil else {               // check for fundamental networking error 
      print("error=\(error)") 
      return 
     } 

     if let httpStatus = response as? NSHTTPURLResponse where httpStatus.statusCode != 200 {   // check for http errors 
      print("statusCode should be 200, but is \(httpStatus.statusCode)") 
      print("response = \(response)") 
     } 

     let responseString = String(data: data!, encoding: NSUTF8StringEncoding) 
     print("responseString = \(responseString)") 
    } 
    task.resume() 

} 

结果是:

responseString =可选( “”)

+0

如果你要送你必须相应地设置页眉JSON。 – vadian

+0

我已更新代码,试图发送标题,但它仍然无法正常工作 – user7205007

你调用任何REST客户端,像邮递员这项服务?如果是的话,并得到响应,从而尝试与此

request.setValue("value",forHTTPHeaderField:"Key") 

替换该行

request.allHTTPHeaderFields = ["key":"value"] 

,并设置所有值

+0

是的,我收到邮差的结果。我试着替换你写的东西,遗憾的是还没有得到任何回应。 – user7205007

+0

什么语言用作后端> – Hosny

+0

如果你使用邮递员,你可以找到一个名为“生成代码”的按钮,你的请求将被写入更多的语言选择迅速,并找到什么在标题字典 – Hosny