android – Volley Server Error null null网络响应

android – Volley Server Error null null网络响应,第1张

概述每次我尝试使用Volley的POST方法时,都会出现严重错误.我在getCause中得到null值,在getNetworkResponse.toString()中得到一些默认值. 如果我使用GET方法,这工作正常(我从我的网址得到回复). 任何人都可以帮我做什么? Map<String, String> jsonParams = new HashMap<String, String>(); 每次我尝试使用Volley的POST方法时,都会出现严重错误.我在getCause中得到null值,在getNetworkResponse.toString()中得到一些默认值.

如果我使用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网络响应所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1138860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存