2017-08-16 46 views
0

我的put方法工作正常,但只是改變放置請求刪除然後它不工作,我甚至嘗試發送它的頭。但仍然無法正常工作。我什至嘗試過Json對象來設置參數。提前致謝。如何使用Volley和Json對象作爲參數發送刪除請求?

StringRequest stringRequest = new StringRequest(Request.Method.DELETE, url, new Response.Listener<String>() { 
 
      @Override 
 
      public void onResponse(String response) { 
 
       Log.d("blalala", response); 
 
       String qtyReserved1 = response.toString(); 
 
        Toast.makeText(mContext, "ok" + qtyReserved1, Toast.LENGTH_SHORT).show(); 
 
      } 
 
     }, new Response.ErrorListener() { 
 
      @Override 
 
      public void onErrorResponse(VolleyError error) { 
 
       Toast.makeText(mContext, "not ok" + username + Integer.toString(inventoryId), Toast.LENGTH_SHORT).show(); 
 
      } 
 
     }) 
 
     { 
 
      @Override 
 
      protected Map<String, String> getParams() throws AuthFailureError { 
 
       Map<String, String> params = new HashMap<>(); 
 
       params.put("screen_name", username); 
 
       params.put("inventory_id", Integer.toString(inventoryId)); 
 
       params.put("pending", "true"); 
 
       return params; 
 
      } 
 
      @Override 
 
      public String getBodyContentType() { 
 
       return "application/json"; 
 
      } 
 
     }; 
 
     MySingleton.mySingletonInstance(mContext.getApplicationContext()).addToRequestque(stringRequest);

+0

「它不工作」。你什麼意思。你有什麼錯誤嗎?或者你的服務器沒有收到你的請求? –

+0

服務器沒有得到請求,我猜 –

+0

哪個是你的服務器。是PHP,.Net或Java –

回答

0

經過大量的調研,感謝上帝,我設法解決提供了一個例子問題,,沒有完全解決在Volley中刪除請求中的問題。但是,我不得不改變我需要從服務器端請求的方法。我改變了請求發佈方法,我知道這可能不是好的做法和解決方案,但現在我設法從服務器上刪除。這就是我需要的。

0

凌空庫時,您使用DELETE方法不送體。你可以嘗試其他圖書館。我用循環J庫

添加依賴於你的gradle這個

compile 'com.loopj.android:android-async-http:1.4.9' 

請求您的網絡API

RequestParams requestParams = new RequestParams(); 
    requestParams.put("screen_name", "mariyam.shimaanath"); 
    requestParams.put("inventory_id", 19); 
    requestParams.put("pending", true); 

    String url="192.168.4.31/api/canteen/cart"; 

    new AsyncHttpClient().delete(url, requestParams, new AsyncHttpResponseHandler() { 
     @Override 
     public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { 
      String rs = new String(responseBody); 

      // do whatever you want 

     } 

     @Override 
     public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { 

     } 
    }); 
+0

Bro,onFailure可丟失的錯誤消息說它的BAD REQUEST –

+0

在日誌,, E/EGL_emulation:tid 16688:eglSurfaceAttrib(1199):錯誤0x3009(EGL_BAD_MATCH) –

相關問題