如果我使用GET方法,这工作正常(我从我的网址得到回复).
任何人都可以帮我做什么?
Map<String,String> JsonParams = new HashMap<String,String>(); JsonParams.put("teststr","abd"); RequestQueue requestQueue = VolleySingleton.getInstance().getRequestQueue(); JsonObjectRequest request = new JsonObjectRequest( Request.Method.POST,url,new JsONObject(JsonParams),new Response.Listener<JsONObject>() { @OverrIDe public voID onResponse(JsONObject response) { try { Toast.makeText(getApplicationContext(),"Success"+response.toString(),Toast.LENGTH_LONG).show(); }catch(Exception e){ Toast.makeText(getApplicationContext(),"JsON ERROR",Toast.LENGTH_LONG).show(); } } },new Response.ErrorListener() { @OverrIDe public voID onErrorResponse(VolleyError error) { Log.d("abd","Error: " + error + ">>" + error.networkResponse.statusCode + ">>" + error.networkResponse.data + ">>" + error.getCause() + ">>" + error.getMessage()); } }) { @OverrIDe protected Map<String,String> getParams() { HashMap<String,String> params = new HashMap<String,String>(); params.put("key","value"); return params; } @OverrIDe public Map<String,String> getheaders() throws AuthFailureError { HashMap<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type","application/Json; charset=utf-8"); return headers; } }; requestQueue.add(request);
错误日志:
Error:@H_404_12@ Error: com.androID.volley.ServerError>>404>>[B@42b1e0d0>>null>>null
更新:@H_404_12@networkResponse.statusCode来自404,尽管url是可访问的(如果我只使用GET方法则返回数据).如果我在POST方法中删除标题部分,仍然是相同的.
网址:
<?PHP $response = array(); $JsonString = file_get_contents('PHP://input'); $JsonObj = Json_decode($JsonString,true); if(!isset($JsonObj['teststr'])){ $response["msg"] = "No data."; }else{ $response["msg"] = "Success: ".$JsonObj['teststr']; } echo Json_encode($response);?>解决方法 首先,尝试确保您的服务器运行良好. @H_404_12@您可以使用Postman(Chrome插件)或任何其他方式向网址发送帖子请求并查看其响应内容.
在确保您的服务器没有问题之后,让我们用排球来解决问题.
使用POST方法时,JsonObjectRequest存在一些问题.@H_404_12@像这样Volley JsonObjectRequest Post request not working.
我建议你首先使用StringRequest并像之前一样覆盖getParams方法.在您完成此任务后,您可以尝试编写自己的请求,这不是非常困难但非常有用.
我还建议在requestQueue.add(request);之前添加request.setShouldCache(false).默认情况下,volley将响应保存在其缓存中,此行为可能会导致一些奇怪的问题.
总结以上是内存溢出为你收集整理的android – Volley Server Error null null网络响应全部内容,希望文章能够帮你解决android – Volley Server Error null null网络响应所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)