2016-05-29 189 views
0

我想使用Swift 2向我的演示服务发送POST请求。 我已经使用命令curl -X POST "http://127.0.0.1:8000/"测试了我的演示服务,并且它可以成功运行(服务在收到POST请求后输出消息)。 但是,当我使用Swift2时,什么都没有发生。这里是我的银行代码:Swift2发送POST请求

let urlAddress : String = "http://127.0.0.1:8000/" 
let url = NSURL(string: urlAddress)! 
let session = NSURLSession.sharedSession() 

let request = NSMutableURLRequest(URL: url) 
request.HTTPMethod = "POST" 
let task = session.dataTaskWithRequest(request) 
task.resume() 

注:在exec这些应用程序代码的运行,不与UI或游戏正常的应用程序。

任何建议是感激!

+0

我将这些代码复制到UIButton下的演示应用程序,它的工作原理!所以我想知道我是否设置了错误。我是一个新的Swift2和iOS – Muyoo

回答

0

我认为你的问题是你正在发送POST请求罚款,但不会知道,因为一般来说,你发送的请求返回错误,响应和一些数据作为回报。在你的情况下,你只是发送一个请求,而不是要求回应。看看下面的代码。在这里我有一个数据任务,它有一个完成处理程序,可以帮助您获得响应,数据和错误。

  let request = NSMutableURLRequest(URL: NSURL(string: "http://127.0.0.1:8000/")!) 

    request.HTTPMethod = "POST" 

    let session = NSURLSession.sharedSession() 
    let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in 
     if (error != nil) { 
      print(error) 
     } else { 
      print("Post Request successful") 
     } 
    }) 

    dataTask.resume() 
+0

我试着这样︰let task = session.dataTaskWithRequest(request,completionHandler:{data,resp,err - > void in let httpResp = resp as!NSHTTPURLResponse! print(httpResp) })但没有任何事发生 – Muyoo

+0

好吧,现在我开始认为你只是在测试你的请求。我的意思是,也许你没有配置你的服务器/加载数据。因此,我编辑了上面的代码,试一下,如果你能打印“Post request successful”,我会说你没事。 –