2017-01-01 3 views
0

Я пытаюсь сделать запрос api для отправки некоторых данных с помощью Alamofire (версия 4.0). Я думаю, что запрос преуспел. Но проблема, с которой я сталкиваюсь, заключается в том, что при выполнении вызова я получаю ответ от сервера, который 0 байт FAILURE.Отправка данных JSON в тело запроса Alamofire

Я испробовал множество решений в настоящее время на StackOverflow и не может найти решение. Спасибо за вашу помощь.

Вот мой Postman установка:

enter image description here

Мой 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

+0

Вы уверены, что ваш запрос тела действителен? Это не похоже на действительный «JSON» для меня. [Это] (http://www.jsoneditoronline.org/?id=7e091d9ddfc8638b36540ca465d2bba8) понравится. – dirtydanee

+0

Спасибо. Я еще не знаю, что запрос JSON отличается от html.Так ты поможешь мне, пожалуйста? – Travis

+0

Вы можете показать код, в котором вы создаете выход JSON? И полный JSON, который вы пытаетесь опубликовать? Кроме того, где вы получаете именно эту ошибку? – dirtydanee

ответ

0

Я думаю, что вы настраиваете ваш Почтальон установка недействительна. Чтобы отправить JSON в качестве данных в вашем запросе GET, вы должны использовать raw, как на картинке ниже.

enter image description here

+1

Спасибо. Я решил это с помощью другого кода! Ваш ответ полезен! – Travis

 Смежные вопросы

  • Нет связанных вопросов^_^