php - 此路由不支持 POST 方法。支持的方法: GET、HEAD 在 laravel 5.8
问题描述
我正在使用 ajax 将我的数据保存到 laravel 中的用户表中。我创建了 API,它在发布成功消息的帖子中运行。但是当我尝试使用 Ajax 保存数据时,它会显示此消息
“此路线不支持 POST 方法。支持的方法:GET、HEAD。”
我的控制器代码是
public function register(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required',
'email' => 'required|email',
'password' => 'required',
'phone' => 'required',
'country' => 'required',
'state' => 'required',
'purpose' => 'required',
'package' => 'required',
'months' => 'required',
'quantity' => 'required',
'amount' => 'required',
'user_status' => 'required',
]);
if ($validator->fails()) {
return response()->json(['error'=>$validator->errors()], 401);
}
$input = $request->all();
$input['password'] = bcrypt($input['password']);
$user = User::create($input);
$success['token'] = $user->createToken('MyApp')-> accessToken;
$success['name'] = $user->name;
return response()->json(['success'=>$success], $this-> successStatus);
}
我的路线是
Route::post('register', 'API\UserController@register');
刀片文件代码是
<form id="frmAddTask" action="#" method="post" enctype="multipart/form-data" action="javascript:void(0)">
@csrf
<h2>Order Information</h2>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label class="control-label required" for="package">Package</label>
<select id="package" name="package" class="form-control">
<option value="basic" selected="selected">Basic</option>
<option value="regular">Regular</option>
<option value="infinite">Infinite</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label class="control-label required" for="months">Months</label>
<select id="months" name="months" class="form-control">
<option value="1" selected="">1 months</option>
<option value="4">4 months</option>
<option value="12">12 months</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label class="control-label required" for="quantity">Quantity</label>
<select id="quantity" name="quantity" class="form-control">
<option value="1" selected="selected">1</option>
<option value="2">2</option><option value="3">3</option>
<option value="4">4</option><option value="5">5</option>
<option value="6">6</option><option value="7">7</option>
<option value="8">8</option><option value="9">9</option>
<option value="10">10</option>
</select>
</div>
</div>
<div class="col-md-3 ">
<label class="control-label required" for="amount">Amount</label>
<div class="input-group">
<span class="input-group-addon">INR</span>
<select id="amount" name="amount" class="form-control">
<option value="1" selected="">2500</option>
<option value="4">4000</option>
<option value="12">7000</option>
</select>
</div>
</div>
</div>
</div>
<hr>
<h2>Billing Information</h2>
<div class="row">
<div class="col-md-6 form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" name="name" id="name">
</div>
<div class="col-md-6 form-group">
<label for="email">Email:</label>
<input type="text" class="form-control" name="email" id="email">
</div>
<div class="col-md-6 form-group">
<label for="confirm">Confirm Email:</label>
<input type="text" class="form-control" name="confirm" id="confirm">
</div>
<div class="col-md-6 form-group">
<label for="phone">Phone:</label>
<input type="text" class="form-control" name="phone" id="phone">
</div>
<div class="col-md-6 form-group">
<label for="country">Country:</label>
<input type="text" class="form-control" name="country" id="country">
</div>
<div class="col-md-6 form-group">
<label for="state">State:</label>
<input type="text" class="form-control" name="state" id="state">
</div>
<div class="col-md-6 form-group">
<label for="phone">Address:</label>
<textarea class="form-control"></textarea>
</div>
<div class="col-md-6 form-group">
<label for="purpose">Purpose</label>
<select id="purpose" name="purpose" value="" class="form-control ">
<option>Select Purpose</option>
<option value="parent">Parent</option>
<option value="employmee">Employmee</option>
</select>
</div>
<div class="col-md-12 form-group">
<input id="btn-add" type="submit" value="Make Payment" class="btn-success">
</div>
<!--button type="submit" class="btn btn-default">Submit</button--->
</div>
</form>
我的ajax请求是
<script>
$(document).ready(function(){
$('#btn-add').click(function(e){
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
}
});
$('#btn-add').html('Sending..');
/* Submit form data using ajax*/
$.ajax({
url: "http://localhost:8000/api/register",
method: 'post',
data: $('#frmAddTask').serialize(),
success: function(response){
$('#exampleModalCenter').modal('hide')
}});
});
});
</script>
请建议我哪里错了,并尝试帮助我解决我的问题。
提前致谢
解决方案
You can try this code in ajax
url:"{{url('/register')}},
推荐阅读
- python - 是否可以在 Python 中在运行时定义一个复杂的类?
- asp.net-core - JsonApiDotNetCore 4.0 已从 JsonApiOptions 中删除 BuildResourceGraph。什么是替代品?
- python - Django循环导入导致AttributeError:模块'x'没有属性'x'
- mysql - 连接表中的 MySql 棘手的条件
- xamarin.forms - 在 xamarin 表单中将按钮对齐到右侧
- python - 递归检索 id 值的最佳数据结构是什么?
- java - 如何将 Json(来自过程)映射到 Java 对象
- sql - SQL:针对 chinook 数据库更高效的 sql 查询
- azure - 将本地存储的文档文档移动到 azure
- r - 在对线性模型应用对比之前解决组之间的不等方差?(r)