#php #jquery #ajax #laravel #get-request
#php #jquery #ajax #laravel #get-запрос
Вопрос:
когда я пытаюсь отправить запрос GET с помощью руководства, но он не работает и в итоге выдает ошибку 500 internal server, я не могу найти какую-либо ошибку, выполнив поиск на форуме или stackoverflow, а также я начинающий, пожалуйста, обратитесь за помощью
вот мое мнение 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>
вот класс контроллера
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class aController extends Controller
{
function index() {
return response()->json(array('d'=> 'success'));
}
}
вот web.php
Route::get('getmsg',[aController::class,'index']);
Комментарии:
1. Добро пожаловать в SO … проверьте журналы ошибок и узнайте, почему вы получаете ошибку 500
2. Обратите внимание, что вы вставили один и тот же код дважды.
3. Измените
APP_DEBUG=true
из вашего файла .env. и вернитесь сюда с сообщением об ошибке4. возможно, можно попробовать добавить эту строку
use AppHttpControllersaController;
над вашимRoute::get('getmsg',[aController::class,'index']);
laravel 8, изменить пространство имен по умолчанию в route
Ответ №1:
Обновите свой маршрут с помощью
use AppHttpControllersaController;
Route::get('/getmsg', [aController::class, 'index']);
Laravel 8 требует, чтобы вы указали полный путь к контроллеру, или вы можете определить пространство имен по умолчанию, чтобы найти свои контроллеры таким образом, определите следующее в вашем RouteServiceProvider.php
protected $namespace = 'AppHttpControllers';
Вы должны получить ответ от контроллера.
Ответ №2:
Сначала проверьте, используете ли вы jquery-3.2.1.slim.min.js
, тонкая версия не поддерживается, поэтому удалите тонкую версию и замените ее на:
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj 3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"
></script>
затем, если ссылка на библиотеку верна, проверьте наличие таких вещей, как csrf, маршрут, данные и т. Д.