Post Method using Volley not working

前端 未结 5 1035
天命终不由人
天命终不由人 2020-12-06 19:32

Hi i am using Volley for my login page. I need to pass data like this manner

{
userID : \'-988682425884628921\',
email :\'aditya@vyas.com\',
pas         


        
5条回答
  •  半阙折子戏
    2020-12-06 20:05

    Solved your problem. Just used JsonArrayRequest and passed parameters in JsonObject form:

        Map params = new HashMap();
        params.put("userID", "userid");
        params.put("email","email");
        params.put("passwd", "password");
        JsonArrayRequest request = new JsonArrayRequest(Request.Method.POST, "url", new JSONObject(params),
                new Response.Listener() {
                    @Override
                    public void onResponse(JSONArray response) {
                        System.out.println("response -->> " + response.toString());
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        System.out.println("change Pass response -->> " + error.toString());
                    }
                });
    
        request.setRetryPolicy(new
    
                DefaultRetryPolicy(60000,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    
    
        Volley.newRequestQueue(activity).add(request);
    

    No need of overriding getParams() or getHeaders().

    Problem : 1 You were getting response code 500 because the server was accepting the params as JsonObject and we are trying to feed String.

    Problem : 2 You were using JsonObjectRequet but the response from the server was in JsonArray so you need to use JsonArrayRequest to accept the response in JsonArray

    Try and let me know this helps or not :)

提交回复
热议问题