![](/img/trans.png)
[英]How can I return JsonObject with getParams in Volley, Android?
[英]how can i custom the JsonObjectRequest so as i can override the getParams method in volley library
我曾尝试使用 json objectRequest,但无法将数据发布到我在下面提供的 php 文件中
reg=regno.getText().toString().trim();
psw=password.getText().toString().trim();
JSONObject postparams=new JSONObject();
try {
postparams.put("reg",reg);
postparams.put("password",psw);
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest jor=new JsonObjectRequest(Request.Method.POST, url,postparams , new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
int resultCode=response.getInt("resultCode");
switch (resultCode){
case 1:
Toast.makeText(getApplicationContext(),response.getString("responseDesc"),Toast.LENGTH_SHORT).show();
Intent i=new Intent(getApplicationContext(),TabLayout.class);
startActivity(i);
break;
default:
Toast.makeText(getApplicationContext(),"Unkown error",Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),error.getMessage(),Toast.LENGTH_SHORT).show();
}
});
Mysigleton.getInstance(getApplicationContext()).addRequest(jor);
下面是我希望我的参数被发布的 php 代码 $login=new loginApi($_POST['reg'],$_POST['password']);
试试这个.. 我在下面的代码中使用了 StringRequest,但你也可以使用 JsonObjectRequest。
JSONObject jsonBody = new JSONObject();
jsonBody.put("reg", reg);
jsonBody.put("password", psw);
final String requestBody = jsonBody.toString();
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("VolleyResponse", response);
}
}, new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}
@Override
public byte[] getBody() {
return requestBody.getBytes(StandardCharsets.UTF_8);
}
};
AppController.getInstance().addToRequestQueue(stringRequest);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.