使用Android Volley将数据发布到网址无效

时间:2016-01-22 02:09:14

标签: php android android-volley

我想将一些数据发布到网址,然后从该网址获取发布的数据并将其存储在数据库中。我试图回应已发布的参数,但它们似乎没有发布,也没有显示错误。 以下是我用来做帖子的功能:

public void insertDataWithVolley() {
        String url = "http://apps.example.com/application/index.php/main/getParamsFromVolley";
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Toast.makeText(getApplicationContext(), response,
                        Toast.LENGTH_LONG).show();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getApplicationContext(), error.getMessage(),
                        Toast.LENGTH_LONG).show();

            }
        }) {
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> mapObject = new HashMap<>();
                mapObject.put("id", "ID");
                Log.d("TAG", "Put id");
                mapObject.put("name", "NAME");
                Log.d("TAG", "Put name");
                return mapObject;
            }
        };
        requestQueue.add(stringRequest);
    }

在PHP方面,这是函数,见下文:

public function getParamsFromVolley() {
        $id = null;
        $name = null;

        if (isset($_GET['id'])) {
            $id= $this->input->get('id');
        }
        if (isset($_GET['name'])) {
            $name= $this->input->get('name');
        }
        //store $pesapal_tracking_id in your database against the order with orderid = $reference09
        echo 'name>>>>' . $id; 
        echo 'email>>>>' . $name;               

        //return $pesapal_tracking_id;
    }

请帮助

1 个答案:

答案 0 :(得分:0)

我不了解PHP,但是当你在Volley中发出POST请求时,你正在用PHP检查GET。更改PHP代码以检查POST参数。

    if (isset($_POST['id'])) {
        $id= $this->input->get('id');
    }
    if (isset($_POST['name'])) {
        $name= $this->input->get('name');
    }

还可以创建一个简单的html页面来检查更改后您的帖子请求是否正常工作。