【发布时间】:2017-12-02 08:47:28
【问题描述】:
代码:-
它使用登录用户 ID 向服务器发送 JsonObject POST 请求
一切都很好,但POST 请求不起作用
sharedPreferences = getActivity ().getSharedPreferences ( MyPREFERENCES, Context.MODE_PRIVATE );
final String logedUserId = sharedPreferences.getString ( usersId, "" );
Map<String, String> postParams= new HashMap<String, String> ();
postParams.put ( "userId", logedUserId );
JsonObjectRequest request = new JsonObjectRequest ( Request.Method.POST, getUrl (),new JSONObject ( postParams), new Response.Listener<JSONObject> () {
@Override
public void onResponse(JSONObject response) {
VolleyError.setVisibility ( View.GONE );
NewsList = parseJSONResponse ( response );
adapterNews.setNewsList ( NewsList );
}
}, new Response.ErrorListener () {
@Override
public void onErrorResponse(VolleyError error) {
VolleyError.setVisibility ( View.VISIBLE );
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
VolleyError.setText ( R.string.error_timeout );
} else if (error instanceof AuthFailureError) {
VolleyError.setText ( R.string.Auth_Fail_Error );
} else if (error instanceof ServerError) {
VolleyError.setText ( R.string.Server_Error );
} else if (error instanceof NetworkError) {
VolleyError.setText ( R.string.Network_Error );
} else if (error instanceof ParseError) {
VolleyError.setText ( R.string.Parse_Error );
}
}
} ){
public Map<String, String> getHeaders() throws AuthFailureError{
HashMap<String, String> headers= new HashMap<> ( );
headers.put ( "Content-Type", "application/json; charset=utf-8");
return headers;
}
};
VolleySingleton.getInstance ( getActivity () ).addToRequestqueue ( request, "UserId" );
服务器响应
{
"NEWS": Array[10][
{
"News_id": "57",
"News_Host_Id": "1",
"News_Host_Agent": "AppFactory",
"News_Post_Date": "2017-10-27",
"News_Title": "Amazing fashion blog",
"News_Descriptions": "Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.",
"News_image": "http://10.0.2.2:81/file/server-side/upload/24610.jpg"
},
{
"News_id": "57",
"News_Host_Id": "1",
"News_Host_Agent": "Computer Scince",
"News_Post_Date": "2017-10-27",
"News_Title": "Amazing fashion blog",
"News_Descriptions": "Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.",
"News_image": "http://10.0.2.2:81/file/server-side/upload/24610.jpg"
}
]
}
当用户发送帖子请求时,如果用户订阅新闻频道,服务器端代码将验证用户 ID 并给出JSON 类似上述结果
【问题讨论】: