【发布时间】:2014-12-14 23:28:07
【问题描述】:
我正在尝试使用 volley 将 Json 发布到我的宁静 API,但它不起作用。到目前为止,我已经通过 chrome 上的 Advance rest 客户端应用程序发送一个 json 有效负载来测试我的 Web 服务,它返回一个 json 响应....但是当我用 Volley 尝试它时,它返回 onErrorResponse。谁能告诉我如何解决这个问题,在此先感谢。
Json 负载:
{"country":"isreal","mobile":"009988778"}
代码
private void processLogin() {
showProgressDialog();
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
Const.LOGIN_URL, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.i("JSON response", "JSON Posting" + response.toString());
hideProgessDialog();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
VolleyLog.d(ERROR_TAG, "Error: " + volleyError.getMessage());
hideProgessDialog();
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
return headers;
}
@Override
protected Map<String, String> getParams(){
String country_value = country.getSelectedItem().toString();
String mobile_value = mobile.getText().toString();
Map<String, String> params = new HashMap<>();
params.put("country",country_value);
params.put("mobile", mobile_value);
return params;
}
};
AppController.getInstance().addToRequestQueue(jsonObjReq, login_tag);
}
【问题讨论】:
-
编辑您的问题以包含常见的 JSON 有效负载,该负载可通过 Chrome 中的高级 REST 客户端工作,但不能通过 Volley 工作。
标签: java php android json android-volley