Jedes Mal, wenn ich versuche, die POST-Methode mit Volley zu verwenden, erhalte ich einen schweren Fehler. Ich bekomme null Wert in getCause und einen Standardwert in getNetworkResponse.toString ().
Wenn ich GET-Methode verwende, funktioniert das gut (ich bekomme Antwort von meiner URL).
Kann jemand helfen, was kann ich tun?
%Vor%Fehlerprotokoll:
Fehler: Fehler: com.android.volley.ServerError & gt; & gt; 404 & gt; & gt; [B @ 42b1e0d0 & gt; & gt; Null & gt; & gt; null
UPDATE: networkResponse.statusCode kommt als 404, obwohl die URL zugänglich ist (und Daten zurückgibt, wenn ich nur die GET-Methode verwende). Wenn ich Header-Teil in der POST-Methode entfernen, immer noch die gleichen.
die URL:
%Vor%Stellen Sie zuerst sicher, dass Ihr Server gut funktioniert. Sie können Postman (chrome-plug-in) oder eine andere Möglichkeit verwenden, um eine Post-Anfrage an die URL zu senden und zu sehen, wie sie reagiert.
Nachdem Sie sichergestellt haben, dass Ihr Server kein Problem hat, lassen Sie uns das Problem mit Volley lösen.
Es gibt ein Problem mit JsonObjectRequest
, wenn Sie die POST-Methode verwenden.
gefällt das Die Anfrage von Volley JsonObjectRequest Post funktioniert nicht .
Ich schlage vor, dass Sie StringRequest
zuerst verwenden und die getParams
Methode wie zuvor überschreiben. Nachdem Sie diese Aufgabe überstanden haben, können Sie versuchen, Ihre eigene Anfrage zu schreiben, nicht sehr schwierig, aber sehr nützlich.
Ich schlage auch vor, request.setShouldCache(false)
vor requestQueue.add(request);
hinzuzufügen. Standardmäßig speichert Volley die Antwort in ihrem Cache und dieses Verhalten kann zu seltsamen Problemen führen.
Fügen Sie diesen Code vor dem Hinzufügen zur Warteschlange hinzu
request.setRetryPolicy (neue DefaultRetryPolicy (0, -1, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Manchmal ist die Anfrage ein Timeout, bevor Ihr php vollständig ausgeführt wurde. also probiere diesen Code. vielleicht kann helfen
Volley behandelt nicht eingebaute POST-Methode-Parameter perfekt, so dass Sie eine benutzerdefinierte Antwort erstellen müssen.
Die Antwort wird von katwal-Dipak auf anderen ähnlichen Posts gepostet. Ссылка
Was perfekt funktioniert. Danke.
vielleicht hängt es mit Ihrem Operator zusammen ...
Ich habe das gleiche Problem beim Senden von JasonObject mit Volley.
Ich habe meine App auf 9-10 Geräten mit zwei verschiedenen Operatoren getestet.
Die Anfrage auf einen Operator gibt einen Fehler mit allem Null oder leere Daten zurück, auf der anderen funktioniert alles einwandfrei und ich bekomme meine Antwort von API erfolgreich.
Ich habe keine Ahnung, was Betreiber tun, die dieses Problem verursachen ... Vielleicht verwenden sie eine Art Firewall, die das Senden von JsonObject blockiert.
Tags und Links android android-volley