【问题标题】:error sending data to server using volley library使用 volley 库向服务器发送数据时出错
【发布时间】:2023-03-23 21:24:01
【问题描述】:

我没有太多使用凌空库。我已阅读教程。我想将数据发送到一个 url,该 url 将在数据库中输入该数据。我已经尝试了以下代码,但它不起作用。数据未输入到数据库中。

  String url = "http://tipseducation.com/system/eadmin/insertschedule/";
        StringRequest sr = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                //Valid Response
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                //error message
            }
        }) {
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {

                Map<String, String> params = new HashMap<>();
                params.put("appt_name", ed_name);
                params.put("appt_email", ed_email);
                params.put("appt_contact", ed_contact);
                params.put("appt_date", ed_date);
                params.put("appt_time", ed_time);
                params.put("appt_service", ed_spinner);
                return params;
            }
        };

谁能帮帮我。我是新手

【问题讨论】:

  • 嘿,我可以打电话给您的网址,以便我们检查数据库中是否添加了任何条目吗?
  • @Pri : 哦,所以打个电话...!!
  • 我可以发送请求数据的样本吗?
  • {"appt_email":"fdvg@fgvf.com","appt_service":"测试服务 11","appt_contact":"8258936985","appt_time":"17.35","appt_name" :"feybrg","appt_date":"15\/9\/2015"}
  • 如果你使用 POST 你的数据应该在正文中。

标签: android android-volley


【解决方案1】:

您应该使用getBody 代替getHeaders 来发送您的POST 请求。

您可以参考我的以下工作示例代码(将我的 JSONObject 和 Url 替换为您的)。希望这会有所帮助!

        ...   
        try {
            RequestQueue queue = Volley.newRequestQueue(this);
            jsonBody = new JSONObject();
            jsonBody.put("Title", "Android Volley POST DATA Demo");
            jsonBody.put("Author", "BNK");
            jsonBody.put("Date", "2015/09/17");
            requestBody = jsonBody.toString();

            StringRequest stringRequest = new StringRequest(1, url, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    // do something...
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    // do something...
                }
            }) {
                @Override
                public String getBodyContentType() {
                    return "application/json; charset=utf-8";
                }

                @Override
                public byte[] getBody() throws AuthFailureError {
                    try {
                        return requestBody == null ? null : requestBody.getBytes("utf-8");
                    } catch (UnsupportedEncodingException uee) {
                        e.printStackTrace();
                        return null;
                    }
                }
            };
            queue.addToRequestQueue(stringRequest);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2020-10-08
    • 2018-08-25
    • 1970-01-01
    相关资源
    最近更新 更多