私はLaravel 5.3
を使用しており、Ajax - Jquery
を使用してPOST
リクエストを作成しようとしています。 私の人生のために、私は私のコードにある間違いを見つけることができません。Laravel 5.3:Ajaxを使用したPOSTリクエストは、jquery.min.jsのコンソールでエラー404を返す
私が助けてくれたら、管理パネルからajaxを使って新しい大学の詳細をテーブルに追加しようとしています。私はPOST
リクエストを作成しており、routes/web.php
にはPOST
というルートメソッドがあり、リクエストを受け取ることができました。 、私のview
で
<meta name="csrf-token" content=" {{ csrf_token() }} ">
<script type="text/javascript" src="{{URL('js/jquery.min.js')}}"></script> //jQuery v2.1.4
私は、次の内部 JavaScriptのスクリプトを持っている:
マイmaster.blade.php
次の行を持っています。私は@section
と@yield
のコンセプトを使って1つにしました。
マイsettings/home.blade.php
は次のようになります。
@section('scripts')
<script type="text/javascript">
function addCollSubmit()
{
$.ajaxSetup({
headers:{
'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')
}
});
var formData = new Array();
for(var i=0 ; i< coll_no; i++)
{
var id = "input[name=coll_name_"+i+"]";
var temp = $(id).val();
formData.push(temp);
}
$.ajax(
{
type:'POST',
headers : {
'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')
},
url:'/admin/settings/addcollege',
data:formData,
success:function(data)
{
console.log(data);
$("#reveal-content").html(data);
},
error: function(data)
{
console.log(data);
}
});
}
</script>
@endsection
ように私のsettings/home.blade.php
でform
セクションが見えます:私routes/web.php
はPOST
要求を受信するために、以下の行を持っている
<form method="POST" name="addCollegeForm" action="">
{{ csrf_field() }}
<table id="addCollTable">
<tr>
<td><input type="text" name="coll_name_0" placeholder="Enter College Name" /></td>
<td><a class="button primary" onclick="oneMoreColl()" href="#"><i class="fi-plus"></i></a></td>
</tr>
</table>
<table>
<tr>
<td colspan="2"><hr/></td>
</tr>
<tr>
<td colspan="2" align="center">
<a href="#addCollSubmit" onclick="addCollSubmit()" class="button success" >Submit</button></td>
</tr>
</table>
</form>
:
Route::post('admin/settings/addcollege','[email protected]');
postIndex()
には、カレッジの詳細をテーブルに格納する関数定義があります。
私は要求を行うたびに、それは私の開発ツールで次のように生成 - コンソール:
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/admin/settings/addcollege
'エラー404'消失し、'エラー以下のURLを試してみてください私の要求しているプロセスを通して 'csrf-field'を設定しています。 –
それはあなたのコントローラの機能にPHPエラーがあることを意味します – madalinivascu
洞察力ありがとうございます。 :) –