Volley onResponse方法不起作用

时间:2017-01-22 19:41:17

标签: android http http-post android-volley

我使用Volley发送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);


}

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

1 个答案:

答案 0 :(得分:0)

使用此链接获取Volley

在这里我提出了凌空可重用性,你可以轻松地解决这个问题。

https://github.com/sikander-kh/Volley-Reusability

相关问题