Ich sende JSON-Objekt von meiner Android App auf meinen Server. In meiner lokalen Entwicklungsmaschine funktioniert es gut. Ich bekomme die Daten und entziffere sie. Aber wenn ich meinen Server zum Berechnen der Engine bereitgestellt habe, erhalte ich die Daten auf dem Serverende nicht. Die Daten werden vom Android-Client gesendet. Ich habe auch den JSON von meinem Browser getestet und bekomme 200 Antwortcode. Hier ist der Code-Schnipsel:JSON gesendet von Android zu berechnen Engine-Server gibt null
// Client
// erzeuge JSONObject hier Dies ist die JSON Ich sende { "test", "1234"}
JSONObject json = new JSONObject();
json.put("test", args[0]);
String postData=json.toString();
// Send POST output.
OutputStreamWriter os = new OutputStreamWriter(urlConn.getOutputStream(), "UTF-8");
os.write(postData);
Log.e("NOTIFICATION", "Sent");
os.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String msg="";
String line = "";
while ((line = reader.readLine()) != null) {
msg += line;
}
Log.i("msg=",""+msg);
// Server
<?php
$json = file_get_contents("php://input");
var_dump($json); //this returns String(0)
$decoded = json_decode($json, TRUE);
$pasid = $decoded['test'];
echo"test if it works";
var_dump($pasid); //returns null
Egal was ich mache die Android App sendet eine Zeichenfolge, aber auf der Serverseite bekomme ich leere Zeichenfolge. Ich kann nicht herausfinden, warum bis jetzt.
Was passiert, wenn Sie den' $ json' aussprechen? Ist es gebildet, wie Sie es erwarten? – Jon
@Jon Danke, dass du mich daran erinnerst. Ich habe meine Frage jetzt aktualisiert. Das gibt String (0) zurück. Ich erwarte einen alfanumerischen Wert, den ich von Android gesendet habe. –