gpt4 book ai didi

ios - json post 方法 Swift 中出现媒体类型不受支持的错误

转载 作者:行者123 更新时间:2023-11-29 00:56:28 24 4
gpt4 key购买 nike

我是 swift 的新手,正在制作一个简单的应用程序,使用这个将摄氏度转换为华氏度:JSON WebService

我的代码在按钮 btn 操作上:

 @IBAction func btn(sender: AnyObject) {
let celnum = txtfirld.text

let myUrl = NSURL(string: "http://webservices.daehosting.com/services/TemperatureConversions.wso");
print("pass 1")
let request = NSMutableURLRequest(URL: myUrl!);
request.HTTPMethod = "POST";
print("pass 2")
let postString = "nCelsius=\(celnum)"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
let task = NSURLSession.sharedSession().dataTaskWithRequest(request){
data, response, error in

print("pass 3")

if error != nil {
print("Error 1")
return
}
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")

do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as? NSDictionary
if let parseJson = json{
let resultValue = parseJson["status"] as! String!
print("result:\(resultValue)")


}

} catch {print("Error 2")}
}

task.resume()

}

但它在控制台上给我这样的错误:

pass 1
pass 2
pass 3
responseString = Optional(The server cannot service the request because the media type is unsupported.)
Error 2

请帮忙谢谢你:)

最佳答案

1 - 你应该设置你的请求内容类型:

request.setValue("application/json; charset=utf-8", forHeader:"Content-Type")

2 - 您的正文不是 JSON 格式,请使用:

let params = ["nCelscius" : 1212]
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: NSJSONWritingOptions())

关于ios - json post 方法 Swift 中出现媒体类型不受支持的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37583146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com