我有一个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错误?
答案 0 :(得分:0)
找到它。不得不切换一些状态错误代码,现在工作正常。