错误域= NSCocoaErrorDomain代码= 3840"没有值。" UserInfo = {NSDebugDescription =无值。}
这是我的代码:
let correo = txtCorreo.text
let contrasena = txtContra.text
let postString = "correo=\(correo!)&contrasena=\(contrasena!)"
print(postString)
let url = URL(string: "http://localhost:8080/swiftdb/logear.php")!
var request = URLRequest(url: url)
request.httpMethod = "POST"//tipo de envio -> metodo post
request.httpBody = postString.data(using: .utf8)// concatenar mis variables con codificacion utf8
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else { //si existe un error se termina la funcion
self.txtError.text = "error del servidor";
print("solicitud fallida \(error)")//manejamos el error
return //rompemos el bloque de codigo
}
do { //creamos nuestro objeto json
print("recibimos respuesta")
if let json = try JSONSerialization.jsonObject(with: data) as? [String: String] {
DispatchQueue.main.async {//proceso principal
let mensaje = json["mensaje"]//constante
let error = Int(json["error"]!)//constante
print(error!)
if(error == 1){//todo correcto
let sb : UIStoryboard = UIStoryboard(name: "Main",bundle:nil)
let nv = sb.instantiateViewController(withIdentifier: "OP") as! OpcionesController
}else if(error == 2){//datos denegados
}else if(error == 3){//no existe
}
self.txtError.text = mensaje;
}
}
} catch let parseError {//manejamos el error
print("error al parsear: \(parseError)")
self.txtError.text = "error del servidor (json)";
let responseString = String(data: data, encoding: .utf8)
print("respuesta : \(responseString)")
}
}
task.resume()
我尝试添加选项.allowfragments
,但它仍然无效。我还检查了我的PHP从Swift项目发送到PHP文件的内容是什么,数据是正确的。