我试图从ajax保存表单数据,但是出现500内部服务器错误的错误,代码在这里,
首页html文件:
@extends('layouts.master')
@section('style')
<meta name="csrf-token" content="{{ csrf_token() }}" />
@endsection
@section('content')
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">Shift Master</h3>
</div>
<!-- /.box-header -->
<!-- form start -->
<form class="form-horizontal" method="POST">
<input type="hidden" name="token" value="{{ csrf_token() }}">
<div class="box-body">
<div class="row">
<div class="col-md-6">
<label>Shift Id : </label><span class="text-danger">*
<input type="text" class="form-control" name="shift_id" id="shift_id" placeholder="Enter ...">
</div>
<div class="col-md-6">
<label>Shift Name : </label><span class="text-danger">*
<input type="text" class="form-control" name="shift_name" id="shift_name" placeholder="Enter ...">
</div>
</div>
<div class="row">
<div class="col-md-12">
<br>
</div>
</div>
<div class="row">
<div class="col-md-6 ">
<label>Shift Status : </label><span class="text-danger">*
<input type="text" class="form-control" name="shift_status" id="shift_status" placeholder="Enter ...">
</div>
<div class="col-md-6">
<label>Shift Remark : </label>
<input type="text" class="form-control" name="shift_remark" id="shift_remark" placeholder="Enter ...">
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-default">Cancel</button>
<button type="button" class="btn btn-info pull-right" onClick ="c();" name="save_shift_master" >Save</button>
</div>
<!-- /.box-footer -->
</form>
</div>
@endsection
@section('script')
<script src="{{ asset('js/jquery.min.js') }}"></script>
<script type="text/javascript">
function c(){
displayQu();
}
//data table value change
function displayQu(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf_token]').attr('content')
}
});
var shift_id = $('#shift_id').val();
var shift_name = $('#shift_name').val();
var shift_status = $('#shift_status').val();
var shift_remark = $('#shift_remark').val();
$.ajax({
type: "POST",
url: "{{URL::to('/json-addshiftMaster')}}",
data:{shift_id:shift_id, shift_name:shift_name, shift_status:shift_status, shift_remark:shift_remark},
cache: false,
success: function(data){
alert(data.success);
}
});
}
</script>
@endsection
web.php:
Route::get('/home', 'shiftMasterController@create')->name('shiftMaster');
Route::post('/json-addshiftMaster', 'shiftMasterController@addshift');
控制器方法:
public function addshift()
{
$table2 = new shift_master_models();
$table2->shift_id= Input::get('shift_id');
$table2->shift_name= Input::get('shift_name');
$table2->shift_status= Input::get('shift_status');
$table2->shift_remark= Input::get('shift_remark');
$table2->save();
$response = array(
'status' => 'success',
'msg' => 'Setting created successfully',
);
return Response::json($response);
}
错误:
jquery-3.3.1.min.js:2 POST http://127.0.0.1:8000/json-addshiftMaster 500(内部服务器错误) 发送@ jquery-3.3.1.min.js:2 ajax @ jquery-3.3.1.min.js:2 displayQu @主页:547 c @家:529 onclick @ home:349
我是Laravel的新手,嘿,请帮我,我找不到解决方法。
谢谢。
答案 0 :(得分:0)
<meta name="csrf-token" content="{{ csrf_token() }}" />
$('meta[name="csrf_token]')
您现在看到问题了吗?这只是一个错字。应该是
$('meta[name="csrf-token"]')
答案 1 :(得分:0)
您必须在控制器类的顶部导入模型类,
use App\shift_master_models;
答案 2 :(得分:0)
您忘记将shift_master_models()
导入Controller。
只需将其写在您的控制器类的顶部:
use App\shift_master_models;
请确保在您的Model类中正确声明了命名空间,例如:namespace App;
或是否在Models文件夹中,例如:namespace App\Models;