Ajax GET 请求在 laravel 8 中失败
Ajax GET request fails in laravel 8
当我尝试使用教程发送 GET 请求时,它不起作用并以 500 内部服务器错误结束
我在论坛或Whosebug上搜索都找不到任何错误,而且我是初学者,请寻求您的帮助
这是我的看法ajax.blade.php
<html>
<head>
<title>Ajax Example</title>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script>
$.ajax({
type: "GET",
url: "getmsg",
success: function(data) {
console.log(data);
},
error: function(data){
console.log("fail");
}
});
</script>
</head>
<body>
</body>
</html>
这里是控制器class
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class aController extends Controller
{
function index() {
return response()->json(array('d'=> 'success'));
}
}
这里是web.php
Route::get('getmsg',[aController::class,'index']);
用
更新你的路线
use App\Http\Controllers\aController;
Route::get('/getmsg', [aController::class, 'index']);
Laravel 8 要求您提供控制器的完整路径,或者您可以定义一个默认命名空间来定位您的控制器,在您的 RouteServiceProvider.php
中定义以下内容
protected $namespace = 'App\Http\Controllers';
你应该得到控制器的响应。
首先检查您是否正在使用 jquery-3.2.1.slim.min.js
,不支持 slim 版本,因此删除 slim 版本并将其替换为:
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"
></script>
然后如果库 link 是正确的,检查 csrf、路由、数据等
当我尝试使用教程发送 GET 请求时,它不起作用并以 500 内部服务器错误结束 我在论坛或Whosebug上搜索都找不到任何错误,而且我是初学者,请寻求您的帮助
这是我的看法ajax.blade.php
<html>
<head>
<title>Ajax Example</title>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script>
$.ajax({
type: "GET",
url: "getmsg",
success: function(data) {
console.log(data);
},
error: function(data){
console.log("fail");
}
});
</script>
</head>
<body>
</body>
</html>
这里是控制器class
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class aController extends Controller
{
function index() {
return response()->json(array('d'=> 'success'));
}
}
这里是web.php
Route::get('getmsg',[aController::class,'index']);
用
更新你的路线use App\Http\Controllers\aController;
Route::get('/getmsg', [aController::class, 'index']);
Laravel 8 要求您提供控制器的完整路径,或者您可以定义一个默认命名空间来定位您的控制器,在您的 RouteServiceProvider.php
protected $namespace = 'App\Http\Controllers';
你应该得到控制器的响应。
首先检查您是否正在使用 jquery-3.2.1.slim.min.js
,不支持 slim 版本,因此删除 slim 版本并将其替换为:
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"
></script>
然后如果库 link 是正确的,检查 csrf、路由、数据等