目前,我正在使用NSURLSession和HTTPPost方法将数据上传到Java servlet。 java servlet将解析收到的数据并将其更新到数据库中。
let dataTest:NSData = dao.readStringFromDb().data
let request = NSMutableURLRequest(URL: NSURL(string: urlSubmit)!)
request.HTTPMethod = "POST"
request.addValue("multipart/form-data", forHTTPHeaderField: "Accept")
request.HTTPBody = dataTest
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
print("Response: \(response)")})
task.resume()
}
在更新过程中(在Java中),根据不同的条件将不同的状态标志更新到DB中。现在,我的要求是从Web服务器返回该状态并在本地显示。
我知道我可以再次使用HTTPGet方法,传递键值并获取状态标志。
我正在尝试探索是否有可用于java servlet的回调处理程序,如javascript中可用的那样。
任何建议都会非常有用。
问候。
答案 0 :(得分:2)
您已经实施了回调以处理回复。
为了获得响应代码,您所要做的就是:
将回复转换为NSHTTPURLResponse
,然后调用statusCode
属性
所以你的代码是:
let task = session.dataTaskWithRequest(request, completionHandler: {(data, response ,error ) in
if let response = response {
let httpResponse = response as! NSHTTPURLResponse
print("response code = \(httpResponse.statusCode)")
}
})
task.resume()
你在clouser中调用task.resume()
时出错了,我也解决了。
不要忘记检查错误