Android 截击响应方法不起作用

Android 截击响应方法不起作用,android,http,http-post,android-volley,Android,Http,Http Post,Android Volley,我正在使用截击发送Post请求。我正在尝试将jsonObject发送到服务器。这是我的源代码 public void sendDicieIDToServer(JSONObject jsonObject) { JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>

我正在使用截击发送Post请求。我正在尝试将jsonObject发送到服务器。这是我的源代码

    public void sendDicieIDToServer(JSONObject jsonObject)
{


    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject jsonObject) {

            Log.e("response is", "Response " + jsonObject.toString());

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            NetworkResponse errorRes = volleyError.networkResponse;
            String stringData = "";
            if(errorRes != null && errorRes.data != null){
                try {
                    stringData = new String(errorRes.data,"UTF-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
            Log.e("Error",stringData);

        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("Authorization",uhfScannerModel.getToken());

            params.put("Content-Type", "application/json");

            return params;
        }

    };
    HandsetApplication.getInstance().addToRequestQueue(jsonObjectRequest);


}
public void sendDicieIDToServer(JSONObject JSONObject)
{
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.POST,url,jsonObject,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject JSONObject){
e(“response is”,“response”+jsonObject.toString());
}
},new Response.ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
NetworkResponse errorRes=截击错误。NetworkResponse;
字符串stringData=“”;
if(errorRes!=null&&errorRes.data!=null){
试一试{
stringData=新字符串(errorRes.data,“UTF-8”);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}
Log.e(“错误”,stringData);
}
}) {
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map params=新的HashMap();
参数put(“Authorization”,uhfScannerModel.getToken());
参数put(“内容类型”、“应用程序/json”);
返回参数;
}
};
HandsetApplication.getInstance().addToRequestQueue(jsonObjectRequest);
}

我成功地创建了JsonObject,当我运行我的应用程序并尝试调试它时,onErrorResponse方法已经调用,stringData字符串包含真正的json结果。我不知道什么是错误的,为什么OneErrorResponse方法调用。

请使用此链接进行截击

在这里,我使截击的可重用性,你可以很容易的方式


什么是错误响应?@akash93 JsonObject。我是指成功的json对象(onResponse方法),您发布了
onErrorResponse
被调用,并且
stringData
包含一些json响应。那是什么?还要检查响应的状态代码是什么@akash93状态代码是400,转换为
错误请求
。最有可能的是,您发送到服务器的
jsonObject
与预期不同。同时发布
stringData
的内容