我的问题如下: 我有一个HTML格式的外部表单,我必须使用AJAX将数据发送到Laravel应用程序。 所以我在客户端创建了一个简单的表单(http://localhost/myLaravelForm):
<form action="http://localhost/laravelApp/public/task/addAjax" id="addNewTask" method="post">
<label>Add task : </label>
<input type="text" name="name" id="task-name">
<button type="submit" id="addTask">Send</button>
</form>
在客户端,我创建了一个AJAX:
$(document).ready(function() {
$(function () {
$('addNewTask').on('submit', function () {
var taskName = $('#task-name').val();
var csrf_token = '<%= token_value %>';
$.ajax({
method: "POST",
url: "http://localhost/monSuperProjet/public/task/addAjax",
dataType: "JSON",
data: {
"name": taskName,
"token": CSRF_TOKEN
},
error: function (data) {
//something went wrong with the request
alert("Error");
},
success: function (data) {
console.log (data);
}
});
event.preventDefault();
});
现在在服务器端我创建了一个名为Ajax的控制器:
class Ajax extends Controller
{
public function receiveValues(Request $request) {
var_dump (Task::find($request->input('name')))
}
}
并创建了一条路线:
Route::post('/task/addAjax','Ajax@receiveValues');
不幸的是,我有可怕的错误.. 我是Laravel&amp; amp; Ajax,最常见的是编码。我们了解我们的错误:)) 我试图找出一些答案,但没有成功...... 谢谢你的帮助
答案 0 :(得分:0)
在刀片中使用以下形式:
<form action="{{ url('/task/addAjax') }}" id="addNewTask" method="post">
{{ csrf_field() }}
<input name="_token" type="hidden" id="_token" value="{{ csrf_token() }}" />
<label>Add task : </label>
<input type="text" name="name" id="task-name">
<button type="submit" id="addTask">Send</button>
</form>
如果你的使用表格提交,那你为什么要做ajax。如果您对ajax感兴趣,请将表单中的操作值设置为action=""
,然后执行您的ajax。如果你想通过ajax来做,那就试试这个(但设置action =“”):
$.ajaxSetup(
{
headers:
{
'X-CSRF-Token': $('input[name="_token"]').val()
}
});
$.ajax({
"Your code comes here".
});