gpt4 book ai didi

javascript - 如何在 laravel 5.3 中使用 ajax

转载 作者:可可西里 更新时间:2023-11-01 00:18:54 24 4
gpt4 key购买 nike

我是 Laravel 新手,正在使用 Laravel 5.3。我想制作一个文本字段,它会自动建议一些数据,当我选择一个数据时,它会将它添加到一个数组中。我想将该数组发送到 Controller 以供进一步使用。为此

view file is as follows:

<head>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(document).ready(function() {
var members = {!! json_encode($member) !!};
console.log(members);
var arr = [];
$("#tags").autocomplete({
source: members,
select: function (event, ui) {
arr.push(ui);
console.log(arr);
}
});
$("#submit").click(function(event){
$.ajax({
type: "POST",
url: '/storeresearch',
data: {selectedMembers: arr},
success: function( msg ) {
console.log(msg);
}
});
});
});
</script>
</head>
<body>
<form id="hu" action="/storeresearch" method="POST">
{!! csrf_field() !!}
<label>Research Author</label>
<input type="text" id="tags" name="researchsupervisor_1" value="">
<input type="submit" name="submit" id="submit" class="btn btn-primary" value="Add">
</form>
</body>

My Controller file is as follows:

public function store(Request $request){
if($request->ajax())
{
$mem = $request->all();
return response()->json($mem,200) ;
}
else{
return "not found";
}

And web.php is as followings:

Route::post('/storeresearch','ResearchController@store');

但似乎没有发生 ajax 调用。在 Controller 中,它总是进入 else 部分。任何人都可以提供帮助的问题是什么?

最佳答案

您的代码大部分看起来不错。但是您在使用 POST 请求时缺少使用 AJAX 调用发送 csrf token 。

您可以通过以下方式使用 AJAX 调用发送 csrf token :

<meta name="csrf-token" content="{{ csrf_token() }}">

$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});

更多信息:https://laravel.com/docs/5.3/csrf#csrf-x-csrf-token

当您按下按钮时,它真的会触发 AJAX 调用吗?请在浏览器的网络选项卡上检查。

关于javascript - 如何在 laravel 5.3 中使用 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42154359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com