簡體   English   中英

NSURLSession從Servlet獲取響應

[英]NSURLSession get response from Servlet

當前,我正在使用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中可用的回調處理程序。

任何建議都將非常有幫助。

問候。

您已經實現了回調以處理響應。

為了獲得響應代碼,您要做的就是:

將響應轉換為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()

您在task.resume()內調用task.resume()遇到了錯誤,我也對此進行了修復。

別忘了檢查錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM