![](/img/trans.png)
[英]Laravel 4: Add Database Record and Redirect to Edit View with New Record ID
[英]Laravel add new record in database returns error
當您單擊帶有ajax的按鈕時,我試圖添加一個新的購物車。我的代碼如下:
1)按鈕
<a class="checkout-button">checkout</a>
2)阿賈克斯
$('.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
。但是,當我從數據庫中讀取它時,它起作用了。我發現了類似的問題,並且我認為令牌出了點問題,但是我無法解決這個問題。
誰能幫助我?
它產生該錯誤,因為該路由沒有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'
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.