Wie zum senden von Formular-Daten in der POST-Anforderung in Swift 3

Ich versuche zu post-Formular-Daten über webservice, Benutzername & Passwort, aber in der Antwort-es zeigt eine Fehlermeldung, die besagt "es Konnte keine Verbindung zum server.".

Bitte helfen Sie mir zu senden, Formular-Daten in der POST-Anforderung.

        let dict:[String:String] = ["userName": userName as! String, "password": password as! String]

        do {

            let jsonData = try JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted)

            let url = URL(string: "(some url)")!

            var request  = URLRequest(url: url)

            request.httpMethod = "POST"

            request.setValue("application/x-www-form-urlencoded charset=utf-8", forHTTPHeaderField: "Content-Type")

            request.httpBody = jsonData

            let task = URLSession.shared.dataTask(with: request) { data, response, error in

                if error != nil {

                    print(error!.localizedDescription)

                    return

                }

                do {

                    let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary

                    if let parseJSON = json {

                        let resultValue:String = parseJSON["success"] as! String;

                        print("result: \(resultValue)")

                        print(parseJSON)

                    }

                } catch let error as NSError {

                    print(error)

                }
            }

            task.resume()

        } catch {

            print(error.localizedDescription)

        }

Ich habe versucht, hinzufügen von Werten in der Anfrage, kann einige Werte fehlen in der Anfrage gebildet. Bitte um Hilfe!!

Das ist der POSTBOTE Antwort

  • Schauen Sie sich auch die AlamoFire pod dafür ein einfacher Weg.
  • Verwendet haben Alamofire gleiche Problem aufgetreten ist es als gut. API ist in Ordnung, die in POSTMAN
  • mein code: lassen Sie urlString = "xxx.xxxx.xxxx.xxx/login" lass headers = [ "Content-Type": "application/form-data" ] Alamofire.Anfrage(urlString), Methode: .post, Parameter: ["Benutzername": Benutzername"Passwort": Passwort], Codierung: JSONEncoding.Standard, Header: Header).responseJSON { Reaktion in der switch-Antwort.Ergebnis { Fall .Erfolg: print(response) Gliedern Fall .failure(Fehler lassen): drucken(Fehler) } }
  • Gearbeitet. Mein Antrag geht wie: Alamofire.Anfrage(urlString), Methode: .post-Parameter: param).responseJSON { Reaktion , wo param ist im Wörterbuch & urlString url. lassen param: [String: String] = ["userName": "xxxx","password": "xxxx"]
  • Hast du eine Antwort auf diese?
InformationsquelleAutor | 2017-04-19
Schreibe einen Kommentar