2017-08-16 94 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) –

相关问题