gpt4 book ai didi

Android - Volley 无法将我的参数发送到服务器

转载 作者:行者123 更新时间:2023-11-29 01:23:04 25 4
gpt4 key购买 nike

我正在尝试使用 Volley 库将数据发送到服务器,但它给我一个错误

输入结束于的字符0”

这是我的代码

public void postPrams(View view) {
String tag_json_obj = "json_obj_req";

String url = "http://Urlhere.com/register.php";

final ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...");
pDialog.show();

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, null,
new Response.Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {
text.setText("done Post : "+response);
pDialog.hide();
Toast.makeText(getApplication(),"Done",Toast.LENGTH_LONG).show();

}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("erorr", "Error: " + error.getMessage());
Toast.makeText(getApplication(),error.getMessage().toString(),Toast.LENGTH_LONG).show();
pDialog.hide();
}
}) {

@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("first_name","Anwar");
params.put("last_name","Samir");
params.put("age", "1000");
params.put("country", "egypt");
params.put("city","le");
params.put("street", "10sq");
params.put("mobile_no", "0100000");
params.put("login_name", "Asi");
params.put("password", "123qwe");
return params;
}
};

AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}

请帮我看看为什么会这样。

最佳答案

看看 Volley 的 source

public JsonObjectRequest(int method, String url, JSONObject jsonRequest,Listener<JSONObject> listener, ErrorListener errorListener)

您在 jsonRequest 的位置传递 null 意味着实际上您没有通过 POST 请求传递任何数据。因此出现错误:"end of input at character 0 of 。尝试将您的代码更改为

public void postPrams(View view) {

String tag_json_obj = "json_obj_req";

String url = "http://Urlhere.com/register.php";

final ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...");
pDialog.show();

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, getParams(),
new Response.Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {
text.setText("done Post : "+response);
pDialog.hide();
Toast.makeText(getApplication(),"Done",Toast.LENGTH_LONG).show();

}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("erorr", "Error: " + error.getMessage());
Toast.makeText(getApplication(),error.getMessage().toString(),Toast.LENGTH_LONG).show();
pDialog.hide();
}
});

AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}

private JSONObject getParams(){
JSONObject params = new JSONObject();
params.put("first_name","Anwar");
params.put("last_name","Samir");
params.put("age", "1000");
params.put("country", "egypt");
params.put("city","le");
params.put("street", "10sq");
params.put("mobile_no", "0100000");
params.put("login_name", "Asi");
params.put("password", "123qwe");
return params;
}

关于Android - Volley 无法将我的参数发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com