Ich versuche, meine Zahlungserfolgsmeldung auf meinen Server hochzuladen. Unten sind mein Code
%Vor%Aber ich erhalte den Fehlercode 500 (interner Serverfehler). Aber mein Server hat alle Informationen und API-Aufruf ist erfolgreich. Kann mir bitte jemand helfen, zu verstehen, warum es in den Fehlerblock eintritt?
Standardmäßig ist requestSerializer
auf eine Instanz von AFHTTPRequestSerializer
gesetzt, was bedeutet, dass Content-Type
Ihrer Anfrage application/x-www-form-urlencoded
ist.
Wenn Ihr Server jedoch den Inhaltstyp application/json
für diese API benötigt, müssen Sie eine Instanz von AFJSONResponseSerializer
festlegen
Z.B.
Versuchen Sie es mit formData p> %Vor%
es ist AFNetworking 3.0-Methode, aber Sie können das gleiche (FormData) in AFNetworking 2.x
verwendenIch hatte das gleiche Problem mit AFNetworking POST sowie manchmal bei GET-Anrufen, aber ... Manchmal würde ich einen 500 internen Serverfehler bekommen, obwohl der Server Anfrageparameter erhalten hat !! Nach einigen Nachforschungen mit meinen Backend-Entwicklern für Web-Services wurde mir klar, dass dies auf eine DLL-Fehlkonfiguration auf der Serverseite zurückzuführen ist, insbesondere auf die System.reflection DLL-Datei . Das Löschen der Datei von der Server-Seite (falls vorhanden) behebt das Problem, andernfalls das Kopieren durch Einfügen aus dem Bin (falls es noch nicht vorhanden ist) entfernt das Problem. Das ist ziemlich verwirrend, aber anscheinend repariert es es !!
UND JA. Es hat nichts mit AFNETWORKING zu tun! Die Antwort geht von Microsoft Azure Server
ausIn der neuen AFNetworking-Version benötigen Sie keine initialize für die AFHTTPRequestOperation-Klasse, um die Anfrage zu bearbeiten, daher passen Sie Ihren Code einfach wie folgt an:
%Vor%Fügen Sie der AFURLResponseSerialization.m-Datei den folgenden Code hinzu und entfernen Sie den vorhandenen Code.
@implementation AFJSONResponseSerializer
%Vor%Tags und Links objective-c ios afnetworking-2