Swift2 在swift中的NSURLSession中未获得结果
在使用swift 2.2时,在使用NSURLSession时,我没有得到响应。我做错了什么 我必须在POST请求中传递参数和标头Swift2 在swift中的NSURLSession中未获得结果,swift2,nsurlsession,Swift2,Nsurlsession,在使用swift 2.2时,在使用NSURLSession时,我没有得到响应。我做错了什么 我必须在POST请求中传递参数和标头 func API() { let userName:String! = "uname" let password:String! = "password" let request = NSMutableURLRequest(URL: NSURL(string: URL)!) request.HTTPMethod = "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=可选(“”)
您是否在任何REST客户端(如Postman)上调用了此服务?如果是并得到响应,请尝试替换此行
request.allHTTPHeaderFields = ["key":"value"]
用这个
request.setValue("value",forHTTPHeaderField:"Key")
并设置所有值您是否在任何REST客户端(如Postman)上调用此服务?如果是并得到响应,请尝试替换此行
request.allHTTPHeaderFields = ["key":"value"]
用这个
request.setValue("value",forHTTPHeaderField:"Key")
和设置所有值如果要发送JSON,则必须相应地设置标头。我已更新了代码,尝试发送标头,但仍不工作如果要发送JSON,则必须相应地设置标头。我已更新了代码,尝试发送标头,但仍不工作是,我正在从邮递员那里得到结果。我试着替换你写的东西,不幸的是仍然没有得到任何响应。什么语言用作后端>如果你使用postman,你可以找到名为“生成代码”的按钮,你会发现你的请求是用更多的语言编写的选择swift并在标题字典中查找“生成代码部分”的内容。。我从来没有在上面查找过,但很抱歉,如果我太过密集,我仍然没有得到响应,标题字典看起来像这样让标题=[“内容类型”:“多部分/表单数据;边界=----WebKitFormBoundary7MA4YWxkTrZu0gW”,“键”:“值”,“缓存控制”:“无缓存”,“邮递员令牌”:“XXXXXX 3X-xxxx-XXXXX-XXXXXXXXXXXXXXXXXXXXXX”]确定尝试更改“content type”键到“accept”键,希望这对您有所帮助:)是的,我从postman那里得到了结果。我尝试替换您编写的内容,但不幸的是仍然没有得到任何响应。后端使用什么语言>如果您使用postman,您可以找到名为“生成代码”的按钮您将看到您的请求是用更多语言编写的,请选择swift并在标题字典中查找“生成代码部分”的内容。。我从来没有在上面查找过,但很抱歉,如果我太过密集,我仍然没有得到响应,标题字典看起来像这样让标题=[“内容类型”:“多部分/表单数据;边界=----WebKitFormBoundary7MA4YWxkTrZu0gW”,“键”:“值”,“缓存控制”:“无缓存”,“邮递员令牌”:“XXXXXX 3X-xxxx-XXXXX-XXXXXXXXXXXXXXXXXXXXXX”]确定尝试更改“内容类型”键改为“接受”键,希望对您有所帮助:)