我正在尝试使用排球请求登录我的应用,但是,我收到以下错误
" com.android.volley.ParseError:org.json.JSONException:类型java.lang.String的值Bad无法转换为JSONobject"
尝试登录时。
以下是截击请求的代码:
Map<String, String> postParam = new HashMap<String, String>();
postParam.put("name", mEmail);
postParam.put("password", mPassword);
//final JSONObject jsonBody = new JSONObject("{\"name\":\""+ mEmail +"\", \"password\":\"" + mPassword + "\"}");
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
JsonObjectRequest jsonObjRequest = new JsonObjectRequest(Request.Method.POST, "http://" + getString(R.string.user_login), new JSONObject(postParam),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(LoginActivity.this,"success!!",Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(LoginActivity.this,error.toString(),Toast.LENGTH_LONG ).show();
failedLogin();
}
});
requestQueue.add(jsonObjRequest);
我已经使用python中的请求尝试了代码,包括名称和密码作为Json参数,如下所示:
post(address, data = json.dumps({"name": "alex", "password": "XXXX"}))
这个工作并返回200(OK!)。它只是不能与android-volley一起使用。
感谢任何帮助!
编辑:
我尝试使用StringRequest而不是JSONRequest,而是出现了这个错误
E / Volley:[3835] BasicNetwork.performRequest:ADDR的意外响应代码400 D / TAG:com.android.volley.ServerError
编辑2:
这次我成功地从LogCat中获得了更多
W / System.err:org.json.JSONException:Value(JSONObject.java:160) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at org.json.JSONObject。(JSONObject.java:173) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at com.example.envi.LoginActivity $ UserLoginTask $ 2.onErrorResponse(LoginActivity.java:364) 05-22 11:09:30.255 18612-18612 / com.example。 envi W / System.err:at com.android.volley.Request.deliverError(Request.java:564) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at com.android.volley.ExecutorDelivery $ ResponseDeliveryRunnable.run(ExecutorDelivery.java:101) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at android.os.Handler.handleCallback(Handler.java:751) 05-22 11:09:30.255 18612-18612 / com.example。 W / System.err:在android.os.Handler.dispatchMessage(Handler.java:95) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at android.os.Looper.loop(Looper.java:154) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at android.app.ActivityThread.main(ActivityThread.java:6290) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at java.lang.reflect.Method.invoke(Native Method) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886) 05-22 11:09:30.255 18612-18612 / com.example.envi W / System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)