在android上使用volley时,服务器不会收到JSON对象

时间:2014-08-28 16:36:27

标签: php android json android-volley

我尝试使用volley将JSON对象发送到服务器并获得响应,但似乎服务器无法获取数据。

如果我试图只回显它是有效的,但如果我尝试在服务器上读取JSON对象并做出反应,我会在凌空时收到错误。我也尝试回显JSON对象并仍然得到错误。 当我使用HttpRequest时,一切正常。 我在HttpRequest和Volley中添加了相同的Headers,Maybe是否与UTF8相关联?我在setEntity上做了什么

我得到了关于PHP的数据:

$data = json_decode(file_get_contents('php://input'), true);

我的截击码:

JsonObjectRequest req = new JsonObjectRequest(Request.Method.POST,
           URL, jsonObject ,
           new Response.Listener<JSONObject>() {
               @Override
               public void onResponse(JSONObject response) {

                       Log.d(TAG,"Response: " + response.toString());

               }
           }, new Response.ErrorListener() {
               @Override
               public void onErrorResponse(VolleyError error) {
                   VolleyLog.e("Error: ", error.getMessage());
               }
           })
            {     
                @Override
                public Map<String, String> getHeaders() throws AuthFailureError { 
                        Map<String, String>  params = new HashMap<String, String>();  
                        params.put("Accept", "application/json");  
                        params.put("Content-Type", "application/json");

                        return params;  
                }
            };
    ;

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

原来我的凌空代码还可以。问题出在服务器端。

使用Breadbin注释并用error.printStackTrace()替换VolleyLog.e有助于找到问题。