我试图在android中使用volley将登录参数发布到我的服务器。第一次登录时,它会发送参数,但在我注销并再次尝试登录后,它不会调用getparams,而是将以前的登录参数发送到服务器。
我试过使用log语句,第一次它打印log statemant,但第二次它不会

StringRequest stringRequest=new StringRequest(Request.Method.POST,LOGIN_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    if (response!=null){
                        Log.d("loginResponse", response);
                        try {
                            JSONObject object= new JSONObject(response);
                            uid=object.getString(KEY_UR_ID);
                            firstName=object.getString(KEY_F_NAME);
                            lastName=object.getString(KEY_L_NAME);
                            fullName=firstName+" "+lastName;
                            email=object.getString(KEY_EMAIL);
                            phone=object.getString(KEY_PHONE);
                            dob=object.getString(KEY_DOB);
                            gender=object.getString(KEY_GENDER);
                            userType=object.getString(KEY_UTYPE);
                            address=object.getString(KEY_U_ADDRESS);
                            pincode=object.getString(KEY_U_PINCODE);

                            // Inserting row in users table
                            db.addUser(uid, firstName, lastName,email,phone,gender,userType,address,pincode);
                            // user successfully logged in
                            // Create login session
                            session.setLogin(true);
                            loginProgress.dismiss();
                            onBackPressed();

                        } catch (JSONException e) {
                            loginProgress.dismiss();
                            Toast.makeText(getApplicationContext(),"Invalid username/password",Toast.LENGTH_LONG).show();
                            e.printStackTrace();
                        }

                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            String message = null;
            if (error instanceof NetworkError) {
                message = "Cannot connect to Internet...Please check your connection!";
            } else if (error instanceof ServerError) {
                message = "The server could not be found. Please try again after some time!!";
            } else if (error instanceof AuthFailureError) {
                message = "Invalid username/password";
            } else if (error instanceof ParseError) {
                message = "Parsing error! Please try again after some time!!";
            } else if (error instanceof TimeoutError) {
                message = "Connection TimeOut! Please check your internet connection.";
            }
            Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show();

            loginProgress.dismiss();
        }
    })
    {
        @Override
        protected Map<String,String> getParams(){

            Map<String,String> params = new HashMap<String, String>();

            //This does not appear in the log for second time login
            Log.d("Params","Does it assign params?") ;
            params.put(KEY_EMAIL, inputEmail);
            params.put(KEY_PASSWORD, inputPassword);
            return params;
        }


        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String,String> header = new HashMap<String, String>();
            header.put("Content-Type","application/x-www-form-urlencoded");
            return header;
        }
        @Override
        protected String getParamsEncoding() {
            return "utf-8";
        }
    };
    MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest);

最佳答案

我也有这个问题。
这是因为截击参数缓存。
尝试使用命令getcache().clear()清理缓存;
即。:

RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.getCache().clear();
requestQueue.add(stringRequest);

08-18 16:27
查看更多