Volley POST在成功请求时抛出错误

时间:2016-09-08 23:22:35

标签: java android android-volley

我使用Volley StringRequest向我的服务器发布查询,我发现在大约20%的情况下,请求成功,但调用了onErrorResponse而不是{{1} }}

这是我的请求代码:

onResponse

我看到20%的时间:

StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
  new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
      Log.d("App", "[MainActivity] post successful");

      // run very important routine only when post is successful
    }
  }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
      Log.e("App", "[MainActivity] failed to post");

      if (error == null) {
        Log.e("App", "no error");
      } 
      else if (error.networkResponse != null) {
        Log.e("App", String.valueOf(error.networkResponse.statusCode));
        if(error.networkResponse.data != null) {
          try {
            Log.e("App", new String(error.networkResponse.data, "UTF-8"));
           } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
           }
         }
       } 
       else {
         Log.e("App", "no network response");
       }
    }
});

requestQueue.add(stringRequest);

但是在我的服务器日志中,我看到一条200条消息,帖子创建的数据在我的数据库中。

为什么Volley会在成功的帖子上抛出错误?

更新

E/App: [MainActivity] failed to post
E/App: no network response

打印:Log.e("App", "error message: " + error.getMessage());

1 个答案:

答案 0 :(得分:1)

凌空输出的错误信息是什么?请按volleyError.getMessage()进行检查。