2017-07-29 6 views
-2

J'essaye de faire une demande d'Alamofire POST. Voilà comment je fais la demande ..code d'état 405 issue..Alamofire demande POST ...

 Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding(destination: .queryString), headers : headers) 
     .responseString { response in 
      print(response.result) 
} 

Bien que je reçois le résultat comme « succès », le code d'état est toujours affiché comme 405 alors qu'il aurait dû être 200. Dans la partie « encoding » de la demande, j'ai essayé tout comme JSONEncoding.default, JSONEncoding.prettyPrinted, URLEncoding.httpbody ... mais toujours le code de statut est toujours 405. Quelqu'un peut-il aider s'il vous plaît? Merci à l'avance ...

+0

je fournir réponse à votre problème, il est peut-être question backend –

Répondre

0

Ceci est la solution à ce problème ... Quelques modifications ont dû être fait ..

Le l'en-tête qui a été donné était ceci: let headers = ["Content-Type": "application/json"]. Mais il devait être laissé en-têtes = ["Content-Type": "application/x-www-form-urlencoded"]. Le codage doit également être donné comme URLEncoding.httpBody.

Ces modifications ont fait fonctionner bien ...

-1

Essayez de remplacer:

responseString avec responseJSON ET URLEncoding(destination: .queryString) avec URLEncoding.default

LIKE:

Alamofire.request(strURL, method: .post, parameters: params, encoding: URLEncoding.default, headers: headers).responseJSON { (responseObject) -> Void in 

//Do something 

} 
+0

No..it ne fonctionne pas. Aussi, le 'response.result' donne une 'FAILURE' .. –

+0

Mais, ça marche absolument bien dans mes nombreuses applications !! –

+0

essayez d'imprimer 'responseObject.result.value' dans ma fonction. J'ai testé cette fonction plus de 100 fois. –

1

Je pense que problème est avec votre serveur, car ce code d'état seulement vient quand le serveur désactive l'API

Le code d'état de réponse HTTP 405 Méthode non autorisée indique que la méthode de demande est connue du serveur mais a été désactivée et ne peut pas être utilisée. Les deux méthodes obligatoires, GET et HEAD, ne doivent jamais être désactivé et ne doivent pas renvoyer ce code d'erreur.

donc avec votre serveur (développeur de back-end), assurez-vous que votre URL est correcte

+0

Il fonctionne correctement dans Postman .. –

+0

je suis assez sûr que votre URL est postée mal de côté mobile append url avec "/" à la fin de l'URL et essayez à nouveau –

+0

Oui..il est déjà ajouté avec un "/" ... –