Ich habe schon ein wenig daran gearbeitet, aber ich habe eine Funktion, die zu einem UIButton
führt, um Alamofire-Aufrufe an meine Rails zu senden, die JSON verwenden.alamofire.error Code = -6006 "JSON konnte nicht serialisiert werden
ich verwende Swift 2, alamofire 3, XCode 7 & Rails 4 für meine api, die Heroku eingesetzt wird
ich erhalte diese Störung, wenn ich die Funktion abfeuern:
alamofire .error Code = -6006 "JSON konnte nicht serialisiert werden. Eingabedaten waren Null oder Null.
Hier ist mein Code:
@IBAction func Save(sender: AnyObject) {
let postsEndpoint: String = "https://APIURL"
let parameters = [
"users": [
"name": "James McHarty",
"avatar": "Some binary data",
"post": [
"title": "First Test Post",
"body": "This is the first test post for the API",
"liked": "8", //will make INT later
"img": "more binary data"
]
]
]
Alamofire.request(.POST, postsEndpoint, parameters: parameters, encoding: .JSON)
.responseJSON { response in
guard response.result.error == nil else {
// got an error in getting the data, need to handle it
print(response.result.error!)
return
}
}
print("func'd")
}
Basierend auf der Fehlermeldung sieht es so aus, als ob Ihr Server keine Daten zurückgesendet hat. Haben Sie versucht, dieselbe Anfrage mit 'curl' oder einem ähnlichen HTTP-Tool zu stellen? Welche JSON-Struktur erwarten Sie? Warum sind Sie sicher, dass es sich um ein iOS-Problem und nicht um ein Rails-Problem handelt? –
Das war hilfreiche Eingabe, so dass ich den Server behandelte und mit einer kleineren Anfrage (nur Benutzer) ging und mein Server eine POST-Anfrage annahm und diese nun anzeigt, wenn ich ein GET ausführe: [{"id": 1, "name": " Don McHart "," avatar ":" irgendein binärer Unsinn "," posts ": []}]. Das führt mich zu der Annahme, dass ich in den Parametern etwas falsch mache. –
Sie können diese Frage schließen und eine neue Rails-Frage öffnen, wenn der Antworttext nicht dem entspricht, was Sie erwarten. –