У меня есть страница регистрации в приложении iOS, которое я пытаюсь написать в Swift. Первое, что я тестируя посылает POST с адресом электронной почты, это путь, я делаю так:Отправка простого POST в Swift, получение ответа «Пустое сообщение»
var bodyData = ("userEmail=%@\" \" &userPassword=%@\" \"&userDevice=%@\" \"", emailAddress.text, password.text, deviceModel)
let dataToSend = (bodyData as NSString).dataUsingEncoding(NSUTF8StringEncoding)
request.HTTPMethod = "POST"
request.HTTPBody = dataToSend
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
// print("response = \(response)")
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
}
task.resume()
Однако я получаю сообщение об ошибке назад о том, что это был пустой пост , Это точный ответ на результат выше: responseString = Optional({"complete":"false","message":"Empty Post"})
Я исследовал различные способы отправки простой POST в Swift, и это кажется правильным. Я не вижу в этом ничего плохого или почему он выводит сообщение о том, что сообщение было пустым ... За исключением, может быть, формата строки?
База данных ожидает несколько вещей для службы «новый пользователь», и я отправляю только одну часть из-за того, что она является тестом. Может ли это быть проблемой? Ожидается следующее:
Service URL : https://test.com/services/new-user/
Required Post Fields:
For New User:
'userEmail'
'userPassword'
'userDevice'
(Из документации).
Я не работал с веб-сервисами. После мозгового штурма я думаю, что это могут быть преступники: я могу получить ответ, потому что я не отправляю сразу все данные. Я также могу отправить его неправильно. Могу ли я отправить его в виде текста или мне нужно отправить его как JSON?
Было бы полезно знать, что сервис нового пользователя ожидает на другом конце, так как он посылает JSON обратно – spirographer
@spirographer Спасибо вам, что это правда, я буду обновлять свои ОП в настоящее время. – John
попробуйте проверить что-то вроде этого: var bodyData = userEmail = \ "\" & userPassword = \ "\" & userDevice = \ "\" "', чтобы увидеть, могут ли они использовать параметры в этом формате. Другим распространенным форматом является JSON, и вы можете легко изменить код, чтобы поддерживать это тоже – spirographer