Android Volley - 无法使用 POST 执行 JSON 请求,得到空响应

萨瑟瑞斯·风暴之锤

我正在尝试使用 Volley 库向 php 服务器发出 json 请求,但由于某种原因,服务器没有收到我发送的 json 对象,它以空字符串响应。这是我的代码

import android.content.Context;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response.Listener;
import com.android.volley.Response.ErrorListener;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;

public class MyVolley implements  Listener, ErrorListener {

    private static Context appContext;

    public MyVolley(Context context) {
        appContext = context;
    }

    public void stuff() throws JSONException {
        RequestQueue queue = Volley.newRequestQueue(appContext);
        JSONObject obj = new JSONObject();
        obj.put("param1", "assda");
        obj.put("param2", "fassfafsa");
        JsonObjectRequest stringRequest = new JsonObjectRequest(Request.Method.POST, "some url here", obj, this, this);
        queue.add(stringRequest);
    }

    @Override
    public void onResponse(Object response) {
        System.out.println(response);
    }

    @Override
    public void onErrorResponse(VolleyError error) {
        System.out.println(error);
    }
}

当它执行时,这是服务器收到的

array (
  'Content-Type' => 'application/json; charset=utf-8',
  'User-Agent' => 'pointless info here',
  'Host' => 'some host here',
  'Connection' => 'Keep-Alive',
  'Accept-Encoding' => 'gzip',
  'Content-Length' => '107',
) array (
) array (
)

为什么会发生这种情况?

瑜伽熊

确保它不是服务器端错误(例如,使用 Postman 尝试您的服务)。

前段时间我个人也遇到过同样的问题,将 JsonObjectRequest 更改为 StringRequest 解决了我的问题。

看看这个链接:https : //stackoverflow.com/a/31613565/7871886

现在我使用 Retrofit2 而不是 Volley ......可能是一个选择。快乐编码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在Android中使用Volley响应执行AutoCompleteTextView

执行POST请求,直到Android上的Volley可以使用网络连接为止

Android Volley JSON响应

Android Volley Post请求在正文中带有json对象,并在String中获取响应

如何使用Volley请求在android中执行无限滚动

使用HttpURLConnection执行POST请求时获取JSON响应

使用Volley发送带有JSON数据的POST请求

如何使用Volley发送带有JSON正文的POST请求?

Android Volley POST - 正文中的 JSON 编码

Android使用Volley从HTTP请求获得响应

我无法使用JSON和Volley将请求中的数据共享给其他android活动

无法在Android中[使用Volley Library]提取JSON数据

使用Volley Android请求删除

使用Volley使用JSONArray发送POST请求

Volley Post请求,在Json数组请求中发送Json对象

Volley-使用JSONArrayRequest发送POST请求

使用 Volley 在 POST 请求中发送参数

无法使用Volley保存来自Json响应的图像

如何在Android中使用Volley在POST请求的正文中传递数组

如何在带有参数和标头的Android Volley库中使用POST请求?

使用Volley进行Android JSON解析

使用 volley 在 android 中检索 Json 对象

Android Volley无法获取数据作为响应

无法从Perl执行POST请求

Android Volley onResponse 不执行:(

Volley-通过POST请求获取json数组

带有标题和 JSON 正文的 Volley 中的 POST 请求

Android Volley POST JsonObject并获取JsonArray或JsonObject或其他响应

Android Volley缓存具有不同的POST请求