gpt4 book ai didi

Android StringRequest Volley 不发送帖子值

转载 作者:行者123 更新时间:2023-11-29 20:19:20 30 4
gpt4 key购买 nike

我正在使用 android volley ,我想用 stringRequest 发送发布数据。但参数不发送到服务器。这是我的代码:

        StringRequest jsonObjReq = new StringRequest(Request.Method.POST, url,  new Response.Listener<String>() {

@Override
public void onResponse(String response) {

Log.d(TAG, response);


}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Volley Error: " + error.getMessage());


}

})
{

@Override
protected Map<String, String> getParams() {

params = new HashMap<String, String>();
params.put("tag", "openApp");
Log.d("Params", params + "");

return params;
}
};

jsonObjReq.setShouldCache(false);


AppController.getInstance().addToRequestQueue(jsonObjReq);

我不知道哪里出了问题?

最佳答案

您应该为 POST 请求使用 getBody 而不是 getParams

您可以引用我的以下工作示例代码(将我的 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/11/01");
requestBody = jsonBody.toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST, 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();
}
...

关于Android StringRequest Volley 不发送帖子值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33461919/

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