Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Volley Server Error null null网络响应大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
每次我尝试使用Volley的POST方法时,都会出现严重错误.我在getCause中得到null值,在getNetworkResponse.toString()中得到一些认值.

如果我使用GET方法,这工作正常(我从我的网址得到回复).

任何人都可以帮我做什么?

@H_47_6@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);

错误日志:

更新:
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);
?>

解决方法

首先,尝试确保您的服务器运行良好.
您可以使用Postman(chrome@L_772_14@)或任何其他方式向网址发送帖子请求并查看其响应内容.

在确保您的服务器没有问题之后,让我们用排球来解决问题.

使用POST方法时,JsonObjectrequest存在一些问题.
像这样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网络响应所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。