2015-11-11 89 views
4

我的Android凌空JsonObjectRequest運行到這個問題onErrorResponse:Android的凌空:意外的響應代碼405

BasicNetwork.performRequest: Unexpected response code 405 for MY_URL 

我的URL是有效的。我已經用瀏覽器檢查過,並且我得到了預期的JSON對象。 所以這個問題必須在客戶端。

代碼405手段:

不允許的方法在Request-Line中指定的方法沒有 允許由Request-URI所標識的資源。響應 必須包含一個Allow頭,其中包含有效方法列表 所請求的資源。

我的JsonObjectRequest代碼:

JsonObjectRequest jsonReq; 
      jsonReq = new JsonObjectRequest(URL_FEED, new JSONObject(), 
        new Response.Listener<JSONObject>() { 
         @Override 
         public void onResponse(JSONObject response) { 
          try { 
           VolleyLog.v("Response:%n %s", response.toString(4)); 
          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
         } 
        }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        VolleyLog.v("ERROR:%n %s", error.getMessage()); 
       } 
      }); 

      // Adding request to volley request queue 
      NetworkController.getInstance().addToRequestQueue(jsonReq); 

我一定要添加一些信息標題?如果有什麼資料?

回答

6

問題在於默認情況下請求被設置爲POST。 適用於我的解決方案:

JsonObjectRequest jsonReq = new JsonObjectRequest 
          (Request.Method.GET, URL_FEED, null, new Response.Listener<JSONObject>() 
          { 
           @Override 
           public void onResponse(JSONObject response) 
           { 
            Log.d("Server", "Läuft"); 
           } 
          }, 
            new Response.ErrorListener() 
            { 
             @Override 
             public void onErrorResponse(VolleyError error) 
             { 
              Log.d("Server","onErrorResponse"); 
             } 
            }); 
        NetworkController.getInstance().addToRequestQueue(jsonReq); 
相關問題