【问题标题】:Android volley does not send POST values after updating android studioAndroid volley 更新 android studio 后不发送 POST 值
【发布时间】:2017-04-17 08:14:57
【问题描述】:

我正在使用 Volley StringRequest 从我的 android 代码中发送 POST 值...在更新我的 android studio 之前,它运行良好,但更新后,我没有从 android 获得任何 POST 值,我无法找到问题出在哪里在我的 android 代码或服务器端。谁能告诉我热来解决这个问题。

这是我的安卓代码。

public class PostRequestTest extends AppCompatActivity {
String URL = "http://.....";

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_post_request_test);
    SendData();
}

private void SendData()
{
    StringRequest stringRequest = new StringRequest(Request.Method.POST,URL,
            new Response.Listener<String>()
            {
                @Override
                public void onResponse(String response)
                {
                    Log.d("Response",response);
                    Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error)
                {
                    Toast.makeText(PostRequestTest.this, error.toString(), Toast.LENGTH_LONG).show();
                }
            })
    {

        @Override
        protected Map<String, String> getParams()
        {
            Map<String, String> params = new HashMap<>();
            params.put("user_name","uname");
            return params;
        }
    };
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}}

而在 PHP 中,我只是打印我的用户名,但无法获得任何值

<?php echo $_POST['user_name']; ?>

提前致谢:)

【问题讨论】:

  • 你发送的是get请求而不是post??
  • 请再次解释您的查询,因为您想发布一些内容,但使用 get 方法怎么可能?
  • 只需更改 Request.Method.GET => Request.Method.POST
  • POST 请求也不起作用。 :(

标签: php android android-studio post android-volley


【解决方案1】:

我认为问题出在字符串请求上。而是使用 Json 对象请求进行发布。

JSONObject obj=new JSONObject();
obj.put("user_name","user_name");

JsonObjectRequest request=new JsonObjectRequest(Request.Method.POST,your_url,obj,new Response.Listener<String>()
            {
                @Override
                public void onResponse(String response)
                {
                    Log.d("Response",response);
                    Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error)
                {
                    Toast.makeText(PostRequestTest.this, error.toString(), Toast.LENGTH_LONG).show();
                }
            })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    相关资源
    最近更新 更多