将ajax数据发送到路由以调用控制器方法
我试图通过参数将ajax数据传递给“settings/addsection/{class_id}”路由,以便调用一个控制器方法来登录laravel日志文件。但是日志记录不起作用。因此ajax没有向路由发送数据。我该怎么解决这个问题?。。请注意,我传递给隐藏输入的$class_id在我从数据库查询时具有值 JAVASCRIPT将ajax数据发送到路由以调用控制器方法,ajax,laravel,laravel-5,Ajax,Laravel,Laravel 5,我试图通过参数将ajax数据传递给“settings/addsection/{class_id}”路由,以便调用一个控制器方法来登录laravel日志文件。但是日志记录不起作用。因此ajax没有向路由发送数据。我该怎么解决这个问题?。。请注意,我传递给隐藏输入的$class_id在我从数据库查询时具有值 JAVASCRIPT <script> document.addEventListener('DOMContentLoaded' , function(){
<script>
document.addEventListener('DOMContentLoaded' , function(){
var add = document.getElementById('addSection');
add.addEventListener('submit' , function(e){
e.preventDefault();
var class_id = document.getElementById('class_id').value;
var section = document.getElementById('name').value;
var token = document.getElementsByName('_token')[0].value;
var data = {
name:section,
_token:token
}
var xhr = new XMLHttpRequest();
xhr.open('POST', 'settings/addsection/' + class_id, true);
xhr.setRequestHeader('Content-Type' , 'application/json');
xhr.send(JSON.stringify(data));
})
})
</script>
SectionController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Section;
class SectionController extends Controller
{
public function store(Request $request , $class_id){
//do stuff here
Log::info(' it works');
}
}
我通过更改此
xhr.open('POST','settings/addsection/'+class_id,true)代码>
到
xhr.open('POST',“{url('settings/addsection/')}”+'/'+class_id,true)代码>
Route::middleware(['auth' , 'admin'])->group(function(){
Route::prefix('settings')->group(function(){
Route::post('addsection/{class_id}' , 'SectionController@store');
});
});
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Section;
class SectionController extends Controller
{
public function store(Request $request , $class_id){
//do stuff here
Log::info(' it works');
}
}