Android 截击响应方法不起作用
我正在使用截击发送Post请求。我正在尝试将jsonObject发送到服务器。这是我的源代码Android 截击响应方法不起作用,android,http,http-post,android-volley,Android,Http,Http Post,Android Volley,我正在使用截击发送Post请求。我正在尝试将jsonObject发送到服务器。这是我的源代码 public void sendDicieIDToServer(JSONObject jsonObject) { JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>
public void sendDicieIDToServer(JSONObject jsonObject)
{
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
Log.e("response is", "Response " + jsonObject.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
NetworkResponse errorRes = volleyError.networkResponse;
String stringData = "";
if(errorRes != null && errorRes.data != null){
try {
stringData = new String(errorRes.data,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
Log.e("Error",stringData);
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("Authorization",uhfScannerModel.getToken());
params.put("Content-Type", "application/json");
return params;
}
};
HandsetApplication.getInstance().addToRequestQueue(jsonObjectRequest);
}
public void sendDicieIDToServer(JSONObject JSONObject)
{
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.POST,url,jsonObject,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject JSONObject){
e(“response is”,“response”+jsonObject.toString());
}
},new Response.ErrorListener(){
@凌驾
公共错误响应(截击错误截击错误){
NetworkResponse errorRes=截击错误。NetworkResponse;
字符串stringData=“”;
if(errorRes!=null&&errorRes.data!=null){
试一试{
stringData=新字符串(errorRes.data,“UTF-8”);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}
Log.e(“错误”,stringData);
}
}) {
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map params=新的HashMap();
参数put(“Authorization”,uhfScannerModel.getToken());
参数put(“内容类型”、“应用程序/json”);
返回参数;
}
};
HandsetApplication.getInstance().addToRequestQueue(jsonObjectRequest);
}
我成功地创建了JsonObject,当我运行我的应用程序并尝试调试它时,onErrorResponse方法已经调用,stringData字符串包含真正的json结果。我不知道什么是错误的,为什么OneErrorResponse方法调用。请使用此链接进行截击 在这里,我使截击的可重用性,你可以很容易的方式
什么是错误响应?@akash93 JsonObject。我是指成功的json对象(onResponse方法),您发布了
onErrorResponse
被调用,并且stringData
包含一些json响应。那是什么?还要检查响应的状态代码是什么@akash93状态代码是400,转换为错误请求
。最有可能的是,您发送到服务器的jsonObject
与预期不同。同时发布stringData
的内容