2017-05-26 73 views
-2

我試圖解析凌空要求爲「JsonObjectRequest」,安卓:com.android.volley.ServerError

正在錯誤養神爲「com.android.volley.ServerError」,不知道什麼原因。

 RequestQueue queue = Volley.newRequestQueue(mConetxt);  


JsonObjectRequest putRequestUNregister = new JsonObjectRequest(Request.Method.POST, Global.un_register_device, deviceInfoUnRegister, 
      new Response.Listener<JSONObject>() 
      { 
       @Override 
       public void onResponse(JSONObject response) { 
        // response 

       } 
      }, 
      new Response.ErrorListener() 
      { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        // error 
        hideProgress(); 
        notificationInterface.NotificationReturn(false); 
        Log.e("Error.Response","notify onErrorResponse VolleyError "+ error.toString()); 
        if (error instanceof TimeoutError || error instanceof NoConnectionError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError TimeoutError"+ error.toString()); 
        } else if (error instanceof AuthFailureError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError AuthFailureError"+ error.toString()); 
        } else if (error instanceof ServerError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError ServerError"+ error.toString()); 
         //TODO 
        } else if (error instanceof NetworkError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError NetworkError"+ error.toString()); 
         //TODO 
        } else if (error instanceof ParseError) { 
         Log.e("Error.Response","notify onErrorResponse VolleyError ParseError"+ error.toString()); 
         //TODO 
        } 
       } 
      } 
    ) { 

     @Override 
     public Map<String, String> getHeaders() 
     { 
      Map<String, String> headers = new HashMap<String, String>(); 
      headers.put("Content-Type", "application/json; charset=utf-8"); 
      headers.put("Accept", "application/json"); 

      return headers; 
     } 

     @Override 
     public String getBodyContentType() { 
      return "application/json; charset=utf-8"; 
     } 

     @Override 
     public byte[] getBody() { 

      try { 
       return deviceInfoUnRegister.toString().getBytes("UTF-8"); 
      } catch (UnsupportedEncodingException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
    }; 

這是我試圖解析, 和正在錯誤爲 「VolleyError com.android.volley.ServerError

+1

嘗試確保您的服務器運行良好。您可以使用Postman(Chrome插件)或任何其他方式向網址發送發佈請求並查看其響應。 –

+1

與'StringRequest'嘗試和你有什麼反應。 –

+0

你的迴應,您做了什麼.... 嘗試打印它的堆棧跟蹤 –

回答

0

替換代碼的方式

headers.put("Content-Type", "application/json; charset=utf-8"); 
headers.put("Accept", "application/json"); 

headers.put("Accept","application/json"); 
headers.put("Content-Type","application/json"); 
+1

我想這一點,仍然得到問題@ ND1010_ –

+0

你可以請告訴我是什麼響應代碼你得到? –

+0

其調用new Response.ErrorListener()和onErrorResponse爲「com.android.volley.ServerError」 @ ND1010_ –