2014-08-28 54 views
1

我试图使用volley将JSON对象发送到服务器并得到响应,但似乎服务器不能获取数据。服务器在android上使用volley时没有收到JSON对象

如果我试图只回显它的工作原理,但如果我尝试读取服务器上的JSON对象并作出反应,我会在抽头中得到错误。我也尝试回显JSON对象并仍然出错。 当我使用HttpRequest时,一切正常。 我添加了与HttpRequest和Volley中相同的头文件,也许已连接到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; 
       } 
      }; 
    ; 

人有一个想法?

+0

你可以试试gson ... – KOTIOS 2014-08-28 17:28:51

+0

出于兴趣你会发现只有Object.class类型的Treturn类型?另外,什么是排球错误?最后:使用error.printStackTrace()代替 – Breadbin 2014-08-28 17:38:20

+1

我面临同样的问题。你有没有办法解决? – ik024 2014-09-19 12:18:40

回答

0

事实证明,我的排球代码是好的。问题出在服务器端。

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

相关问题