Comment lire une simple chaîne de caractères à partir d'une requête POST en AFNetworking (Pas de JSON)
Je suis en utilisant AFNetworking
pour communiquer avec un serveur par le biais de POST qui répond par une simple chaîne de caractères contenant les informations dont j'ai besoin. Je suis en utilisant le code suivant:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST: MY_URL
parameters: MY_PARAMETERS
success:^(AFHTTPRequestOperation *operation, id responseObject) {
//do something
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//etc.
}];
Cependant, il semble que AFNetworking
attend tous la réponse au format JSON, car j'ai cette erreur lorsque j'exécute ma requête:
Erreur de Domaine=NSCocoaErrorDomain Code=3840 "L'opération ne pouvait pas être
terminé. (Cacao erreur 3840.)" JSON (texte n'a pas commencé avec le tableau ou
objet et option pour permettre à des fragments non défini.) UserInfo=0x1566eb00
{NSDebugDescription=JSON texte n'a pas commencé avec tableau ou d'un objet et
option pour permettre à des fragments de ne pas définir.}
Comment puis-je savoir AFNetworking
que c'est OK que la réponse n'est pas un objet JSON? J'ai vu quelque chose impliquant AFHTTPClient
, mais il ne semble pas faire partie de AFNetworking
plus.
OriginalL'auteur Haiku Oezu | 2014-01-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez dire à l'
AFHTTPRequestOperationManager
ouAFHTTPSessionManager
comment gérer la réponse, par exemple, avant d'appelerPOST
, vous pouvez effectuer les opérations suivantes:Puis dans votre
success
bloc, vous pouvez convertir leNSData
à une chaîne:Après avoir dit que, vous pouvez contempler la conversion de votre service web pour revenir réponse JSON, comme il est beaucoup plus facile à analyser de cette façon (et faire la différence entre une réponse valide et certains d'erreur du serveur).
Vous êtes un épargnant de vie, merci mon ami!
Souhaite que je pourrais donner plus de voix pour cette réponse!! Merci!!!!!!
OriginalL'auteur Rob
vous pouvez obtenir la description de la réponse des détails comme ci-dessous
OriginalL'auteur codercat
Bien meilleure façon serait de sous-classement AFHTTPResponseSerializer et primordial, il
Là, vous pouvez analyser la réponse, en fonte de type dont vous avez besoin et de retour.
OriginalL'auteur Timur Suleimanov