我正在使用Laravel 5.3。我想使用刀片模板插入數據。但是當我按下提交按鈕時,它每次都會刷新。該怎麼辦?並請任何人告訴我如何使用Ajax的網址,類型,數據使用Ajax插入數據
-2
A
回答
-1
我只是假設你正在使用jQuery,如果你在談論AJAX。這很簡單。您的laravel路線聽取「發佈」,「獲取」,「補丁」,「刪除」方法。這些
一切都可以用一個Ajax請求創建 - 例如:
$.ajax({
method: "POST",
url: "/posts",
data: { title: "Hello World", text: "..." }
})
.done(function(post) {
// assuming you return the post
alert(post.title + " created");
});
現在你用ajax,你不會想要一個視圖返回Ajax調用。您有不同的選擇在這裏(創建一個新的路線,輔助功能等),我會給出最簡單的例子
控制器功能:
public function store(Request $request) {
$post = App\Post::create($request->all());
if($request->ajax()) {
return $post;
} else {
return redirect('/posts');
}
}
現在你控制器將返回的Ajax調用數據,並且將您重定向在沒有Ajax的情況下進行默認調用。
最後你要記住最後一件事。如果您應用了網絡中間件(默認情況下已完成),則需要處理csrf令牌。最簡單的方法來處理這個問題是(做所有你的電話前等)加入了元標記您的HTML頭
,然後添加這個來配置你的Ajax
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
這會在您的頭部添加有效的csrf標記給每個ajax調用,並確保您不會遇到標記不匹配異常。
事情要記住: - 如果你留很長的上一個頁面符號可能到期(laravel咖啡因會幫助這裏) - 你需要處理驗證了AJAX調用
0
如果你試圖提交通過Javascript確保防止表格默認動作e.preventDefault()
。此代碼阻止以正常方式提交表單。只需添加以下代碼來包裝您的AJAX呼叫:
$('#form-id').submit(function(e){
e.preventDefault();
$.ajax({...});
});
相關問題
- 1. 使用ajax插入數據問題
- 2. 使用ajax插入到數據庫
- 3. 使用Ajax將數據插入到mysql
- 4. handontable:使用ajax插入數據
- 5. 使用ajax插入MySql數據庫
- 6. 錯誤插入數據ajax
- 7. 加載AJAX數據插入
- 8. 不能使用ajax插入數據到數據庫
- 9. 使用AJAX/JSON/Jquery插入數據到數據庫
- 10. 將數據插入數據庫中使用AJAX
- 11. 將數據插入SQL數據庫使用jQuery AJAX在asp.net C#
- 12. Ajax將數據插入數據庫
- 13. 用ajax插入數據庫linq
- 14. 的Ajax/PHP/MySQL的:將數據插入到數據庫不使用Ajax和PHP
- 15. 使用Ajax和PHP將數據插入到MySQL時,使用有限的數據?
- 16. 如何使用ajax serialize()函數在laravel 5.2中插入數據?
- 17. 插入數據使用SqlDataAdapter
- 18. 使用Linq插入數據
- 19. 使用nhibernate插入數據
- 20. 使用Node.js插入數據
- 21. 使用mysql插入數據
- 22. 返回使用jQuery/AJAX當SQL插入ID插入一行到數據庫
- 23. 通過Ajax使用PHP插入和檢索數據
- 24. 如何使用PHP5將數據插入到MySQL中AJAX
- 25. 使用ajax在表中多次插入數據
- 26. 在asp.net中使用jquery ajax插入值到數據庫中
- 27. 使用HTML/PHP/AJAX將行插入到數據庫中
- 28. 使用ajax和php插入數據到MYSQL
- 29. 在數據庫中使用ajax/jquery插入facebook電影列表
- 30. 我不能插入數據使用AJAX在laravel 5.2
您可以將您迄今爲止所做的相關代碼放到哪裏? –