我无法将android volley的POST请求发送到php

时间:2019-03-07 07:13:49

标签: php android post

我正在使用android volley StringRequest将发布请求发送到已经在线托管的PHP文件。此操作在域名更改之前但已生效,但此PHP文件不再将截击请求作为发布请求接收。在PHP文件$_SERVER['REQUEST_METHOD']中返回GET而不是POST。

这是android volley请求代码段

StringRequest request = new StringRequest(Request.Method.POST, postURL, new Response.Listener<String>(){
        @Override
        public void onResponse(String s) {
            Log.d("MY_DEBUG",s);

        }
    },new Response.ErrorListener(){
        @Override
        public void onErrorResponse(VolleyError volleyError) {

        }
    }) {
        @Override
        public Map<String, String> getHeaders()
        {
            Map<String, String> parameters = new HashMap<>();
            parameters.put("Connection", "Keep-Alive");
            return parameters;
        }

        @Override
        public String getBodyContentType() {
            //return "application/x-www-form-urlencoded; charset=UTF-8";
            return "application/x-www-form-urlencoded";
        }

        //adding parameters to send
        @Override
        protected Map<String, String> getParams()  {
            Map<String, String> parameters = new HashMap<>();
            parameters.put("request", "edit_product");
            parameters.put("id", id);

            return parameters;
        }
    };

    request.setShouldCache(false);
    InitiateVolley.getInstance().addToRequestQueue(request);

这是处理来自Android凌空的发布请求的PHP文件中的前几行代码

if($_SERVER['REQUEST_METHOD']=='POST'){
//it's a POST request, We are good to go...handle the post request.
}else{
  //not a POST request, kill it here
  echo "error";
  die();
}

什么可能导致此问题?我需要在PHP方面进行设置吗?还是新域的PHP版本?请帮忙

1 个答案:

答案 0 :(得分:0)

我从网址中删除了“ www”,它解决了我的问题。这样的问题POST Requests seen as GET by server帮助了