我正在構建一個應用程序,供用戶上傳項目。我正在實施一個系統,用戶可以「喜歡/不喜歡」其他項目。我正在嘗試使用AJAX調用來保存喜歡。用戶可以像一個項目(/項目/ {ID})Laravel 5.1通過ajax調用將數據保存在數據庫中
的詳細信息頁面我有一個表的用戶,項目和喜歡的項目。我的計劃是將喜歡的東西保存在喜歡的表格中,以便記錄如下所示:id,user_id,project_id。在未來我可以做一個統計查詢,並找出每一個項目有多少喜歡了,等
出於某種原因,當我點擊按鈕,像我的應用程序被卡住,並保持加載,直到它崩潰。
我的文件: Ajax調用
$(document).ready(function(){
console.log("js loaded");
$('#likeform').on('submit', function(e) {
console.log("like submitted");
e.preventDefault();
$.ajax({
url: $(this).parent().attr('action'),
type: "post",
data: {'_token': token, 'user_id': $('input[name=user_id]').val(), 'project_id': $('input[name=project_id]').val()},
success: function(data){
alert(data);
}
})
});
});
我的形式
{!! Form::open(array('url'=>'projects/'.$project->id.'/like','method'=>'POST', 'id'=>'likeform')) !!}
<input type="hidden" id="token" value="{{ csrf_token() }}">
{!! Form::Submit('Like', array('class'=>'send-btn')) !!}
{!! Form::close() !!}
我的路線:
Route::get('/', '[email protected]');
Route::post('projects/{id}/like', '[email protected]');
我在LikeController類似功能:
public function like()
{
if(Request::ajax()) {
$data = Input::all();
print_r($data);die;
}
}
瀏覽器控制檯在加載時會說些什麼嗎?你檢查了你的laravel.log嗎?提供任何類型的錯誤都會大大提高您獲得正確答案的機會。 – MisterP
我的控制檯沒有任何東西。而且我完全沒有錯誤,這有點煩人。 –
奇怪。無論如何,我沒有測試你的代碼,但是你試圖從表單中檢索一個'action'屬性,而它沒有。你確實設置了一個'url'。我不確定這是你在找什麼,但值得一試。附註:使用「Form」外觀構建表單將自動設置一個隱藏的「標記」字段,因此實際上不需要爲表單添加第二個表單。 – MisterP