Android应用程序POST到PHP Laravel Server

时间:2017-06-08 18:31:47

标签: php android laravel postman

我有一个Android应用程序,我已设置将一些数据发送到我的PHP Laravel服务器,但是我得到405错误而且我不知道为什么(尝试通过Postman的POST工作正常)

这是我的android代码:

 String URL_POST = "http://192.168.2.102/device/id";
 btnGoi.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            InsertSV();
        }

    });


private void InsertSV() {

    StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_POST, new Response.Listener<String>() {

        @Override
        public void onResponse(String response) {

            Toast.makeText(getApplication(), response, Toast.LENGTH_SHORT).show();

        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(IdDeviceActivity.this, error + "", Toast.LENGTH_SHORT).show();
        }
    }
    ) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {

            Map<String, String> params = new HashMap<String, String>();
            String Id = edtId.getText().toString();
            params.put("ID", Id);

            return params;
        }
    };

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

这是我的PHP Laravel(我使用xampp来启动它):

public function checkDeviceId(Request $request){

    $id = $request->input('ID');
    $code=LicenceCodes::where('device_id',$id)->first();
    if($code==null){
        return response('Wrong device id.'.$id, 405)
            ->header('Content-Type', 'text/plain');
    }
    else
    {
        return response('Device added'.$id, 200)
            ->header('Content-Type', 'text/plain');
    }

我的路线:

Route::post('/device/id', 'DeviceController@checkDeviceId');

知道它与Postman一起工​​作得很好,我想可能有一个android问题?或者我没有正确传递参数,我真的不确定......

编辑:但是,我已经尝试在我的xampp文件夹中发布到一个简单的php文件,为此它工作正常

稍后编辑:我看到我得到405方法不允许邮递员,但我仍然得到良好的身体反应,这就是为什么我被骗了。我该如何解决405错误?

1 个答案:

答案 0 :(得分:0)

找到它。不得不切换一些状态错误代码,现在工作正常。