ajax - 我在 laravel 上的 ajax 请求返回状态错误 405
问题描述
我正在使用 laravel 6。当使用外部 ajax.js 文件处理我的表单时,它返回错误 405。消息:此路由不支持 POST 方法。支持的方法:GET、HEAD。
这是我在刀片中的形式:
<form >
@csrf
<div class="form-group">
<label>Name:</label>
<input type="text" name="name" class="form-control" placeholder="Name" required="">
</div>
<div class="form-group">
<label>Password:</label>
<input type="password" name="password" class="form-control" placeholder="Password" required="">
</div>
<div class="form-group">
<strong>Email:</strong>
<input type="email" name="email" class="form-control" placeholder="Email" required="">
</div>
<div class="form-group">
<button class="btn btn-success btn-submit">Submit</button>
</div>
</form>
我的 ajax.js:
$(document).on('submit','#employeeSignupFrom',function (e) {
var token = $('input[name="_token"]').attr('value')
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': token
}
});
$.ajax({
$url:'/signupemployee',
type:'post',
data: $(this).serialize(),
contentType:'json',
success: function( response, textStatus, jQxhr ){
alert('done')
},
error: function( jqXhr, textStatus, errorThrown ){
alert('error!');
}
});
e.preventDefault()
})
路线(web.php):
Route::post('/signupemployee','FormsController@signupEmployee');
和我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class FormsControllers extends Controller
{
public function signupEmployee(Request $request){
$employeeInfo=$request->all();
return response()->json(['alert'=>'done!']);
}
}
解决方案
首先从您的网址中删除 $ 符号:
//$url:'/signupemployee', <- remove $
url:'/signupemployee',
第二次将 contentType 更改为:
contentType: 'application/json',
最后你的ajax应该是这样的:
$.ajax({
url: '/signupemployee', //<- $ sign should deleted
type: 'POST',
data: data,
contentType: 'application/json', //<- not just json
headers: {
'X-CSRF-TOKEN': token
}
})
推荐阅读
- javascript - 用动态长度数组替换多个子字符串的更好方法?
- python - 为 python 程序打开多个命令窗口
- tensorflow - 为重新训练的 Tensorflow Hub 模块提供新功能
- java - 回合制多人游戏快速入门
- java - 实现我的 reHash() 算法的不同方式
- ansible - 使用 Ansible 对文件行进行变量化?
- git - 为 git 命令设置标志默认行为(提交和变基)
- coldfusion - 格式化由 ColdFusion 生成的内联电子表格
- python - 如何让construct.GreedyRange 回馈一个字节?
- javascript - 在带有香草 JavaScript 的控制台中显示表单名称 = 值对?