Volley没有发送带参数的帖子请求.

Max*_*ain 3 android android-volley

我有以下代码(Volley Library By Google)向我的php服务器发送POST请求并获取信息.我没有检查isset($_POST['id'])PHP 尝试代码,代码工作正常.在我开始检查时购买,php会跳过if语句并转到else意味着代码没有params正确发送.我怎样才能解决这个问题?

RequestQueue queue = Volley.newRequestQueue(Chat.this);
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
        CHAT_URL_FEED, null,
        new Response.Listener<JSONObject>() {

            @Override
            public void onResponse(JSONObject response) {
                Log.d("THISSSSSSSS", response.toString());
                if (response != null) {
                    parseChatJsonFeed(response);
                }
            }
        }, new Response.ErrorListener(){

    @Override
    public void onErrorResponse(VolleyError error){
        VolleyLog.d("Here", "Error: " + error.getMessage());
    }
}) {

    @Override
    protected Map<String, String> getParams() {
        Map<String, String> params = new HashMap<String, String>();
        params.put("id", id);
        return params;
    }

};

queue.add(jsonObjReq);
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下代码:

RequestQueue queue = Volley.newRequestQueue(Chat.this);

        JSONObject params = new JSONObject();
        try {
            params.put("id", id);
        } catch (JSONException e) {
            e.printStackTrace();
        }


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

                    @Override
                    public void onResponse(JSONObject response) {
                        Log.d("THISSSSSSSS", response.toString());
                        if (response != null) {
                            parseChatJsonFeed(response);
                        }
                    }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d("Here", "Error: " + error.getMessage());
            }
        });

        queue.add(jsonObjReq);
Run Code Online (Sandbox Code Playgroud)

但我仍然得到相同的结果.

Max*_*ain 5

在花了一些时间研究这个问题后,我发现Volley没有正确处理带有POST请求的JSON请求.用户@SMR建议在我的问题的评论部分.我还在Google网上看到了类似的答案,并在git上看到了mian repo.我最终使用GET请求将信息传递给服务器并检索JSON提要.

  • 我个人不同意你的看法. (6认同)