使用Volley Android将标头添加到jsonArrayRequest

时间:2016-09-09 11:25:22

标签: android json android-volley

我想使用Volley将jsonArray和一些标题发送到服务器。我使用了以下方式:

JsonArrayRequest jsonArrayRequest = new JsonArrayRequest( Request.Method.POST, URL, jsonParams, new Response.Listener<JSONArray>() {
     @Override
     public void onResponse(JSONArray response) {
        Log.d( LOG_TAG, "JSON response: " +response );
     }
}, new Response.ErrorListener() {
     @Override
     public void onErrorResponse(VolleyError error) {
         error.printStackTrace();
         Log.d( LOG_TAG, "Error data: " + error.toString());
         String errorResponse = Arrays.toString( error.getStackTrace() );
         Log.d( LOG_TAG, "Volley response: " + errorResponse);
         Log.d( LOG_TAG, "Network response: " +error.networkResponse.statusCode );
         Log.d( LOG_TAG, "Volley error: " + error.getMessage()+"\n"+ Log.getStackTraceString( error ));
     }
})
 {
     @Override
     public Map<String, String> getHeaders() throws AuthFailureError {
         HashMap < String, String > headers = new HashMap<>();
         headers.put( USER_TOKEN, mUserToken );
         return headers;
 }};

在这里,我在获取URL时获得状态代码405。 我想将一个用户令牌作为标题与jsonArray一起发送但不成功。 jsonParams是json数组,可以包含一个或多个json对象。 任何人都可以指导我添加标题或任何其他解决方案的正确方法吗?

1 个答案:

答案 0 :(得分:0)

从服务器获取405状态代码意味着您向服务器发送了错误的方法。简而言之,POST方法需要是GET方法,反之亦然。