Я пытаюсь сделать запрос api для отправки некоторых данных с помощью Alamofire
(версия 4.0). Я думаю, что запрос преуспел. Но проблема, с которой я сталкиваюсь, заключается в том, что при выполнении вызова я получаю ответ от сервера, который 0 байт FAILURE.Отправка данных JSON в тело запроса Alamofire
Я испробовал множество решений в настоящее время на StackOverflow и не может найти решение. Спасибо за вашу помощь.
Вот мой Postman
установка:
Мой Swift код:
import UIKit
import Alamofire
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let headers: HTTPHeaders = [ "content-type": "x-www-form-urlencoded"]
Alamofire.request("myurl.php?method=GET_RECENT", headers: headers).responseJSON { response in
debugPrint(response)
print(response.request) // original URL request
print(response.response) // HTTP URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
}
}
Ошибка я получаю:
[Запрос]: myurl.php? Method = GET_RECENT [Ответ]: {URL: myurl.php? Method = GET_RECENT} {код состояния: 200, заголовки { "Cache-Control" = "max-age = 0 «; Connection = «Keep-Alive»; «Content-Length» = 0; "Content-Type" = "text/html; charset = UTF-8"; Date = "Sun, 01 Jan 2017 11:41:31 GMT"; Expires = "Sun, 01 Jan 2017 11:41:31 GMT"; «Keep-Alive» = «timeout = 7, max = 100»; Сервер = "Apache/2.2.15 (CentOS)"; "X-Powered-By" = "PHP/5.6.25"; }} [Data]: 0 байт [Результат]: FAILURE: responseSerializationFailed (Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength) [Временная шкала]: Сроки: { "Запрос Start Time": 504963459,698, "Начальное время отклика" : 504963459.821, «Request Completed Time»: 504963459.821, «Время завершения сериализации»: 504963459.821, «Задержка»: 0,123 с, «Длительность запроса»: 0,123 с, «Длительность сериализации»: 0,001 сек., «Общая продолжительность»: 0.124 сек} Необязательный (myurl.php? Method = GET_RECENT) Необязательный ({URL: myurl.php? Method = GET_RECENT} {код состояния: 200, заголовки { "Cache-Control" = "max-age = 0"; Connection = «Keep-Alive»; «Content-Length» = 0; "Content-Type" = "text/html; charset = UTF-8"; Date = "Sun, 01 Jan 2017 11:41:31 GMT"; Expires = "Sun, 01 Jan 2017 11:41:31 GMT"; «Keep-Alive» = «timeout = 7, max = 100»; Сервер = "Apache/2.2.15 (CentOS)"; "X-Powered-By" = "PHP/5.6.25"; }}) Необязательные (0 байт) FAILURE
Вы уверены, что ваш запрос тела действителен? Это не похоже на действительный «JSON» для меня. [Это] (http://www.jsoneditoronline.org/?id=7e091d9ddfc8638b36540ca465d2bba8) понравится. – dirtydanee
Спасибо. Я еще не знаю, что запрос JSON отличается от html.Так ты поможешь мне, пожалуйста? – Travis
Вы можете показать код, в котором вы создаете выход JSON? И полный JSON, который вы пытаетесь опубликовать? Кроме того, где вы получаете именно эту ошибку? – dirtydanee