Ich erstelle eine Login-Seite, wo, sobald der Benutzer Benutzername Passwort eingibt, dann werden die Daten an die API gesendet und wenn die eingegebenen Daten korrekt sind, dann gibt Erfolg zurück. Wenn das Ergebnis Erfolg ist, muss ich den Benutzerschlüssel des Benutzers erhalten, die durch die Serverin dieses Formular zurückgegeben wird:Wie bekomme ich Daten vom POST? Json
{
"STATUS_DESC": "Success",
"STATUS_CODE": 1,
"email": "[email protected]",
"api_token": "Mqbraok1zsdasdasd4j3m"
}
Jetzt muss ich diese api Token speichern. Dafür ich diese Funktion versuche aber seine nicht funktioniert -
@IBAction func signInBtnPressed(_ sender: Any) {
let email : String! = self.usernameField.text
let password : String! = self.passwordField.text
var request = URLRequest(url: URL(string: "\(URL_BASE)\(AUTH)\(LOGIN)")!)
request.httpMethod = "POST"
let postString = "email=\(email!)&&password=\(password!)"
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(String(describing: error))")
print("cant run")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(String(describing: response))")
print("\(email)")
print("\(password)")
}
else {
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(String(describing: responseString))")
print("\(URL_BASE)\(AUTH)\(LOGIN)/?\(postString)")
Alamofire.request("\(URL_BASE)\(AUTH)\(LOGIN)/?\(postString)" , method : .post).responseJSON { response in
let result = response.result
if let dict = result.value as? Dictionary<String,AnyObject>
{
print(dict)
let userTOKEN = dict["api_token"] as! String
print(userTOKEN)
}
}
}
}
task.resume()
}
Sie mir bitte sagen, welche Fehler m tun und wie kann ich es beheben ..
können Sie sagen, wohin in Code –
ich die Antwort bearbeitet habe. Ich habe Code hinzugefügt, um api_token zu UserDefaults zu speichern. Fügen Sie diesen Code in den Antwortabschluss Ihrer Datenaufgabe ein. –
Lassen Sie Aufgabe = URLSession.shared.dataTask (mit: Anfrage) {Daten, Antwort, Fehler in {// Code hier eingeben} –