我正在使用Laravel 5.3
并尝试使用POST
发出Ajax - Jquery
请求。
对于我的生活,我无法找到我的代码中的错误。
如果有帮助,我会尝试使用管理面板中的ajax将新的大学详细信息添加到我的表中。我确保我正在发出POST
请求,而我的routes/web.php
有一个POST
的路由方法来接收请求。
我的master.blade.php
有以下一行:
<meta name="csrf-token" content=" {{ csrf_token() }} ">
<script type="text/javascript" src="{{URL('js/jquery.min.js')}}"></script> //jQuery v2.1.4
在我的view
中,我有以下内部 javascript脚本。我使用@section
和@yield
概念将其渲染为一个。
我的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
我的form
中的settings/home.blade.php
部分如下所示:
<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>
我的routes/web.php
有以下行来接收POST
请求:
Route::post('admin/settings/addcollege','SettingsController@postIndex');
postIndex()
确实有一个函数定义来存储表中的大学详细信息。
每次发出请求时,它都会在我的开发人员工具中生成以下内容 - console:
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/admin/settings/addcollege
答案 0 :(得分:1)
尝试以下网址
Schema::create('codecs', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
Schema::create('buys', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('name');
});
Schema::create('buy_codec', function (Blueprint $table) {
$table->increments('id');
$table->integer('buy_id')->unsigned();
$table->foreign('buy_id')->references('id')->on('buys')->onDelete('cascade');
$table->integer('codec_id')->unsigned();
$table->foreign('codec_id')->references('id')->on('codecs')->onDelete('cascade');
$table->timestamps();
});