使用字典快捷方式发布参数
我试图发送数据到服务器使用字典,但不幸的是,数据没有保存到数据库(字段被发现是空白),我得到了下面的回应:
可选([“status”:true,“msg”:successfull])
并试图向用户显示UIActivityIndicator
,直到他得到响应,但找不到方法。
代码尝试:
let dict = [ "key_one": self.tf1.text!,"key_two":self.tf2.text!] do { let jsonData = try NSJSONSerialization.dataWithJSONObject(dict, options: .PrettyPrinted) // create post request let url = NSURL(string: "myAPIUrl.php?")! let request = NSMutableURLRequest(URL: url) request.HTTPMethod = "POST" // insert json data to the request request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") request.HTTPBody = jsonData let task = NSURLSession.sharedSession().dataTaskWithRequest(request){ data, response, error in if error != nil{ print("Error -> \(error)") return } do { let result = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String:AnyObject] print("Response -> \(result)") } catch { print("Inside Error Section -> \(error)") } } task.resume() } catch { print(error) }
//在一个fucantion写这个
let Username:NSString = EmailTextField.text! as NSString let password:NSString = PasswordTextField.text! as NSString let headers = [ "content-type": "application/json", "cache-control": "no-cache", "postman-token": "121b2f04-d2a4-72b7-a93f-98e3383f9fa0" ] let parameters = [ "username": "\(Username)", "password": "\(password)" ] if let postData = (try? JSONSerialization.data(withJSONObject: parameters, options: [])) { var request = NSMutableURLRequest(url: URL(string: "YOUR_URL_HERE")!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData let session = URLSession.shared let task = URLSession.shared.dataTask(with: request as URLRequest) { (data, response, error) -> Void in if (error != nil) { print(error) } else { DispatchQueue.main.async(execute: { if let json = (try? JSONSerialization.jsonObject(with: data!, options: [])) as? NSDictionary { let success = json["status"] as? Int let message = json["message"] as? String // here you check your success code. if (success == 1) { print(message) let vc = UIActivityViewController(activityItems: [image], applicationActivities: []) present(vc, animated: true) } else { // print(message) } } }) } } task.resume() }
- Xcode 5您的二进制文件在validation时未针对iPhone 5进行优化
- MagicalRecords从JSON / NSDictionary导入数据。 导入关系
- 由于缺lessinfo.plist和其他文件,OS X,iPhone和Android上的Worklight构build失败
- 指导UIScrollView和自动布局
- UIAlertController中的多行可编辑文本UITextview?
- types的iTunes网上应用店APIsearch
- 缩小ViewController的方法:适配器,数据源,观察者…(iOS)
- SDK更新至3.14后,原生Facebooklogin停止工作
- 苹果提交iPhone应用程序的要求