以前用的Post请求是用的表单方式,前几天需要用Json方式,于是百度,由于用的volley通信框架,搜索到这个答案http://m.blog.csdn.net/blog/u012832949/39577741。然后就按照这么做了。结果出现volley.ServerError错误。先看下在postman下的正常请求:
我的代码: JSONObject params = new JSONObject();
        try {
            params.put("username", phone);
            params.put("password", password);
            params.put("type", "1");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        getHttpData(Url.URL_LOGIN, params); 
public void getHttpData(final String url,JSONObject param) {        JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url,param, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject jsonObject) {
                handleData(jsonObject);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                handleError(volleyError);
            }
        }) {
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                HashMap<String, String> headers = new HashMap<>();
                headers.put("Accept", "application/json");
                headers.put("Content-Type", "application/json; charset=UTF-8");
                return headers;
            }
        };
        //超时时间10s,最大重连次数2次
        request.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 2, 1.0f));
        HttpManager.addRequest(request);
    }
调试的时候报这个错误,如下:
第一次使用这种Post方式,希望大家多多指教!!!这两天心累呀⊙︿⊙

解决方案 »

  1.   

    没有,后来用的async-http,但是仍然想知道为什么
      

  2.   

    没有,后来用的async-http,但是仍然想知道为什么
      

  3.   

    同求呀, 用StringRequest post 提交可以成功,用JsonObjectRequest post 提交一直不成功,真心累拉
      

  4.   

    http://blog.csdn.net/onlysnail/article/details/47905375
    这篇博文讲述了使用post方式提交jsonObjectRequest请求遇到的坑以及解决方案,希望对大家有用
      

  5.   

    请问楼主用asynchttpcline怎么解决的呀,我用volley和asynchttpcline都不行,好累