【发布时间】:2023-02-24 13:04:31
【问题描述】:
我是 Lavarel 8 和 Ajax 的新手,我一直在尝试编写一个简单的测试。该代码基本上可以正常工作,Laravel 或 Javascript 没有出现任何错误,但它似乎没有返回任何数据。
以下是我在 web.php 中的路由:
Route::get('foo', [mainController::class, 'foo']);
Route::get('get_foo', [mainController::class, 'get_foo']);
以下是在我的控制器中:
public function foo() {
return view('foo');
}
public function get_foo() {
return "this is not a test";
}
以下是我的刀片(foo.blade.php):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.6.3.min.js" integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script>
<script>
$(document).ready(function () {
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
method : 'GET',
url : "get_foo",
dataType : 'json',
success : function(result){
console.log("The result is --> %o", result);
}
});
});
</script>
</head>
<body>
</body>
</html>
它应该做的是在开发人员的控制台打印“结果是 --> 这不是测试”,但是我没有得到任何输出。控制台显示一条成功的 XHR 消息,所以我假设 Ajax 有效。
我究竟做错了什么?
【问题讨论】: