2017-01-22 6 views
0

И Попытки отправить запрос JSON с помощью Alamofire, но это не работает как JSON запрос здесь мой JSON:Alamofire 4,3 не может отправить запрос JSON

{"ClientID":"55050","AdminId":"myemail","Password":"123"} 

content-type → application/json; charset=utf-8 

и вот мой код:

import Alamofire 

func doLogin(username:String ,password:String) { 
    let parameters = ["ClientID":"55050" , "AdminId":username,"Password":password] 

    Alamofire.request("myurl.com", method: .post, parameters: parameters, encoding: JSONEncoding(options: [])).responseJSON(completionHandler: { 
     response in 
     print(response) 
    }) 

и вот ответ, который я получаю

FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 3." UserInfo={NSDebugDescription=Invalid value around character 3.}))

+0

По ошибке, вопрос на ответ от вашего сервера. – Larme

+0

Я попробовал его с почтальоном, и он работает – Muhammed

ответ

0

Считывая документации я просто нужно поставить заголовок, чтобы установить запрос в качестве приложения/JSON

так я добавил дополнительный заголовок параметра:

let headers: HTTPHeaders = [ 
      "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", 
      "Accept": "application/json" 
     ] 
Alamofire.request(ApiKeys().login, method : .post , parameters : parameters, encoding: JSONEncoding.default , headers: headers).responseJSON { response in 

     } 

и теперь он работает отлично спасибо всем за то, чтобы помочь :)

0

Кажется, что в вашем запросе вы пропустили заголовок. Таким образом, ответа не было. Ваш заголовок должен быть в словаре [String: String].

let header = ["Content-Type" : "application/json"] 

И ваш запрос образец должен быть:

Alamofire.request(getCategoryPath, method: .post, parameters: parameters, encoding: URLEncoding.default, headers: header) 
     .responseJSON { response in 
    guard response.result.error == nil else { 
      print(response.result.error!) 
} 

print(response.result.value) 

}

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