我正在從窗體進行ajax調用,以將複選框數據發送到控制器。下面是相關的html代碼:ajax請求拋出405方法未找到錯誤(Laravel 5)
<form method="POST" action="http://192.168.1.25/nonresponsiveurl" accept-charset="UTF-8" class="del_form" id="del_form" name="del_form"><input name="_token" type="hidden" value="igr6iMt1WfeZunyG8wpyy1tNK1efgiclyOvZ1hkF">
<input id="submit" type="submit" name="submit" value="Delete Checked Records" onclick="return submitDelForm();">
<div class="table-responsive shadow-edge-nofill">
<table class="table table-striped">
<tbody>
<tr>
<td><input id="badURL0" class="bad_url_checkbox" name="bad_url_checkbox" type="checkbox" value="2"></td>
etc....etc.....etc....
</form>
下面是相關的JavaScript代碼:
<script type="text/javascript">
function submitDelForm(){
$('div#loadmoreajaxloader').show();
var form = document.del_form;
var dataString = $(form).serialize();
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});
$.ajax({
type: 'POST',
URL: '/delbadurl',
contentType: "application/json; charset=utf-8",
data: {'serial_data' : dataString},
success: function(data){
$('div#loadmoreajaxloader').hide();
}
});
}
</script>
下面是相關的路由:
Route::post('delbadurl','Admin\[email protected]');
我可以證實,CSRF令牌被附加到dataString。表單數據也被附加到dataString。但是,jQuery拋出405錯誤。
我正在使用許多其他類似的ajax函數來獲取和發送數據。除了這個特殊的功能,一切都很完美當我空手而歸時,一些指針將非常感激。
首先'405'不是jQuery錯誤,它是一個http錯誤。你最有可能得到這個錯誤,因爲你使用的表單url('http:// 192.168.1.25/nonresponsiveurl')不存在或不可訪問。你沒有做任何事來阻止表單的標準html提交。所以這是什麼讓你到'405'頁面,我想。 –
爲了排除故障,我建議你提交沒有AJAX的表格,看看你得到了什麼...... – Digitlimit
delBadURL是否存在於你的dashbooardController中? – Gokigooooks