[英]Laravel - Returning 405 GET Method Not Allowed on the server
我正在使用 Laravel 并且我想使用 ajax 请求更改状态启用和禁用它在本地主机上工作但是当我想在服务器上使用它时它给了我这个错误:
405 GET 方法不允许
这是我的 ajax:
<script>
$(".change").click(function(){
var id = $(this).data("id");
$.ajax(
{
url: "vouchers/change-status/"+id,
type: 'put',
dataType: "JSON",
data: {
"id": id,
"_method": 'put',
"_token": "{{ csrf_token() }}",
}
});
});
</script>
这是控制器
public function changeStatus(Request $request){
$voucher = Voucher::find($request->id);
if($voucher->status == 0)
$voucher->status = 1;
else
$voucher->status = 0;
$voucher->save();
}
和 web
Route::put('vouchers/change-status/{id}', 'VoucherController@changeStatus')->name('change.status.voucher');
尝试这个:
$.ajax(
{
url: "vouchers/change-status/"+id,
type: POST,
dataType: "JSON",
data: {
"id": id,
"_method": 'PUT',
"_token": "{{ csrf_token() }}",
}
}
);
dataType
属性仅在您从服务器获取数据时使用。 向服务器发送数据时,您应该将contentType
设置为application/json
。
$(".change").on("click", function() {
var id = $(this).data("id");
$.ajax({
type: 'POST',
contentType: 'application/json',
dataType: 'json',
url: "vouchers/change-status/"+id
headers: {"X-HTTP-Method-Override": "PUT"},
data: {
"id": id,
"_method": 'put',
"_token": "{{ csrf_token() }}",
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.