【发布时间】:2021-04-11 04:00:05
【问题描述】:
这可能看起来重复,但我在使用 AJAX 时遇到了这个问题,我不知道如何解决它。
路由:web.php
Route::get('/{name}/{code}', 'TestController@counter');
Route::post('/{name}/{code}', 'TestController@sender')->name('sender');
控制器:TestController.php
public function counter() {
return view('room');
}
public function sender(Request $request) {
$xd = array(
'1' => request('text'),
'2' => Request::url()
);
event(new TestEvent($xd));
}
查看:room.blade.php:
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div>
<form>
@csrf
<label for="lname">Code:</label><br>
<input type="text" id="text" name="text"><br><br>
<input type="submit" value="Submit">
</form>
</div>
<script type="text/javascript">
$("form").on("submit", function (e) {
var data = $(this).serialize();
$.ajax({
type: "POST",
URL: "{{ route('sender') }}",
data: data,
success: function () {
console.log("works");
}
});
e.preventDefault();
});
</script>
</body>
</html>
错误是 AJAX 如果我把它拿出来我没有收到错误。 AJAX代码是调用Controller而不重定向到另一个页面。知道如何解决吗?
【问题讨论】:
-
从您的路线中删除
'/{name}/{code}'。 -
我需要它们,它不是固定路线。有时是 /hello/123,有时是 /hello/345
-
你没有发送参数...
-
我如何发送它们?我需要改变什么?
-
这样发送:
URL: "/"+ name +"/" + code",
标签: javascript jquery ajax laravel