2016-11-11 2 views
0

Я пытаюсь сделать запрос с Alamofire и Swift 3.0, но он всегда переходит в состояние отказа.Alamofire всегда входит в состояние Failure

Это код, я прямо сейчас:

let str = "http://url/{\"user\":\"1\",\"pass\":\"1\"}" 

let encodedUrl = str.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) 

     Alamofire.request(encodedUrl!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in 

      switch(response.result) { 
      case .success(_): 

       print("Success") 

       break 

      case .failure(_): 
       print("Failure") 
       break 

      } 
     } 

Если я использую encodedUrl на Postman приложение я получаю ответ хорошо. Это дает мне следующий JSON:

[ 
    { 
    "user": "1", 
    "name": "peter" 
    }, 
    { 
    "user": "4", 
    "name": "andrew" 
    }] 

Что мне не хватает?

Заранее благодарен!

+0

Его тип ответа - это json справа? а не 'html' или' text'? Postman отображает текст, отформатированный в большинстве случаев. –

+0

@SunilChauhan Как я могу это знать? –

+0

В POSTMan, проверьте здесь: http://prntscr.com/d5zli6 или здесь http://prntscr.com/d5zmac –

ответ

0

Наконец-то, похоже, что я извлекал дополнительный String из JSON, потому что я использовал echo на моем API.

Я не мог видеть это, потому что у меня было на Postman возможность отображать ответ как JSON, так что String не показывался. Я изменил его на HTML, а затем смог увидеть String.

Снятие дополнительных String Позвольте мне ввести success статус Alamofire.

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