Laravel 在数据库中添加新记录 returns 错误
Laravel add new record in database returns error
当您单击带有以下 ajax.My 代码的按钮时,我正在尝试添加新购物车:
1) 按钮
<a class="checkout-button">checkout</a>
2) Ajax
$('.checkout-button').on('click', function(){
var url = '{{route('postcheckout')}}';
$.ajax({
type : 'POST',
url : url,
headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },
data : {'user_id' : 5},
success:function(data){
console.log(data);
}
});
});
console.log和测试用数据。
3) 路线
Route::post('/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
4) 控制器
Use App\delivery_cart;
public function insertCart(Request $request){
$user_id = $request['user_id'];
$cart = new delivery_cart;
$cart->user_id = $user_id;
$cart->save();
}
数据库有 2 列 - cart_id
(primary,ai) 和 user_id
.
当我尝试插入新记录时出现错误 500(内部服务器错误,提示:MethodNotAllowedHttpException
。但是当我从数据库中读取时,它起作用了。我发现了类似的问题,我认为有些事情正在发生token错误,但我无法解决问题。
谁能帮帮我?
它生成该错误是因为该路由没有 get
方法进入您的路由
要解决这个问题,您必须将该方法注册到您的路由中。
更改路线
来自
Route::post('/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
至
Route::any(array('post','get'),'/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
或者您可以只添加
Route::get('/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
当您单击带有以下 ajax.My 代码的按钮时,我正在尝试添加新购物车:
1) 按钮
<a class="checkout-button">checkout</a>
2) Ajax
$('.checkout-button').on('click', function(){
var url = '{{route('postcheckout')}}';
$.ajax({
type : 'POST',
url : url,
headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },
data : {'user_id' : 5},
success:function(data){
console.log(data);
}
});
});
console.log和测试用数据。
3) 路线
Route::post('/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
4) 控制器
Use App\delivery_cart;
public function insertCart(Request $request){
$user_id = $request['user_id'];
$cart = new delivery_cart;
$cart->user_id = $user_id;
$cart->save();
}
数据库有 2 列 - cart_id
(primary,ai) 和 user_id
.
当我尝试插入新记录时出现错误 500(内部服务器错误,提示:MethodNotAllowedHttpException
。但是当我从数据库中读取时,它起作用了。我发现了类似的问题,我认为有些事情正在发生token错误,但我无法解决问题。
谁能帮帮我?
它生成该错误是因为该路由没有 get
方法进入您的路由
要解决这个问题,您必须将该方法注册到您的路由中。
更改路线
来自
Route::post('/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
至
Route::any(array('post','get'),'/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);
或者您可以只添加
Route::get('/checout',[
'uses' => 'checkoutController@insertCart',
'as' => 'postcheckout'
]);