我尝试使用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;
}
};
;
有人有想法吗?
答案 0 :(得分:0)
原来我的凌空代码还可以。问题出在服务器端。
使用Breadbin注释并用error.printStackTrace()替换VolleyLog.e有助于找到问题。