2016-04-16 6 views
0

Ich kann Map <String, String> an meinen Server POST, aber es kommt in & getrennte Form.Ist es möglich, JSON Object anstelle von HASH MAP <String, String> mit Volley zu senden?

I-Code haben von Send post request using Volley and receive in PHP verwendet

getParams() einfach nicht mit JSONObject Rückgabetyp arbeiten. Ist es möglich, JSONObject nur als JSON zu senden?

Ich möchte Daten als JSON senden, die ich mit file_get_contents(php://input) bekommen werde. Dafür habe ich zu application/json; charset=utf-8 geändert.

Das Problem auf diese Weise wird unter Verwendung von I-Daten im Format von x=abc&y=def erhalten, wie es Map<String, String> Typ ist und ich möchte Daten in JSON Format {"x":"abc", "y":"def"}

von oben Frage Es ist anders, weil ich in JSON POST-Daten wollen NUR und nicht in MAP von String

+0

schreiben Sie Ihren Code hier – Rgv

+0

Mögliche Duplikat [Anfrage senden POST mit JSON-Daten unter Verwendung von Volley] (http://stackoverflow.com/questions/23220695/send-post-request-with-json-data-using- Volley) –

+0

@Rgv Ich habe Ihnen den Code – iamhssingh

Antwort

0

Versuchen Sie folgendes:

private void jsonObjReq() { 

     showProcessDialog(); 
     Map<String, String> postParam= new HashMap<String, String>(); 
     postParam.put("un", "[email protected]"); 
     postParam.put("p", "somepasswordhere"); 



JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, 
     Const.URL_LOGIN, new JsonObject(postParam), 
     new Response.Listener<JSONObject>() { 

      @Override 
      public void onResponse(JSONObject response) { 
       Log.d(TAG, response.toString()); 
       msgResponse.setText(response.toString()); 
       hideProgressDialog(); 
      } 
     }, new Response.ErrorListener() { 

      @Override 
      public void onErrorResponse(VolleyError error) { 
       VolleyLog.d(TAG, "Error: " + error.getMessage()); 
       hideProgressDialog(); 
      } 
     }) { 

    /** 
    * Passing some request headers 
    * */ 
    @Override 
    public Map<String, String> getHeaders() throws AuthFailureError { 
     HashMap<String, String> headers = new HashMap<String, String>(); 
     headers.put("Content-Type", "application/json; charset=utf-8"); 
     return headers; 
    } 



}; 

ändern Header in Ihrem PHP auch.

+0

Yeah! Ich habe gerade diese Stack-Overflow-Frage bekommen. Trotzdem danke :) – iamhssingh