【发布时间】:2017-06-28 12:07:19
【问题描述】:
我是 Laravel 新手,正在使用 Laravel 5.3。我想创建一个文本字段,它会自动建议一些数据,当我选择一个数据时,它将把它添加到一个数组中。我想将该数组发送到控制器以供进一步使用。为此,
查看文件如下:
<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>
我的Controller文件如下:
public function store(Request $request){
if($request->ajax())
{
$mem = $request->all();
return response()->json($mem,200) ;
}
else{
return "not found";
}
而web.php如下:
Route::post('/storeresearch','ResearchController@store');
但似乎没有发生 ajax 调用。在控制器中,它总是进入 else 部分。任何人都可以帮助解决什么问题?
【问题讨论】:
-
把
<input type="submit">改成<input type="button">然后试试 -
是的,它会触发 ajax 调用,但不会发生该操作。它仍然在同一页面中
-
这就是 ajax 的含义。处理ajax时页面不会刷新
-
噢,感谢您让这个概念变得清晰。但是当我按下 ajax 调用按钮并转到返回某些东西的控制器时,我都想要。你能帮我看看该怎么做吗?
-
您到底要做什么?清除它。
标签: javascript php ajax laravel-5