php - Laravel AJAX NotFoundHttpException
问题描述
我一直在尝试在我的 laravel 项目中使用 AJAX,但它总是返回错误,
NotFoundHttpException on RouteCollection.php", "line": 179
我在 web.php 中的路线是
Route::post('/ajaxRequest','AjaxController@index');
控制器代码是
class AjaxController extends Controller {
public function index(){
$msg = "Ajax test message";
return response()->json(array('msg'=> $msg), 200);
}
}
我使用的 Ajax 调用是
$.ajax({
type:'POST',
url:'{{url("/ajaxRequest")}}',
datatype:'json',
data: pass,
success:function(data){
$("#result").html(data.msg);
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
$("#result").html(jqXHR.responseText);
});
并将元标记内容用于 csrf_token
<meta name="csrf-token" content="{!! csrf_token() !!}">
并使用检索值
var pass={'_token': $('meta[name="csrf-token"]').attr('content')};
请帮我解决这个错误。
解决方案
改变路线到这个
Route::post('/ajaxRequest','AjaxController@index')->name('routeName');
并在 ajax 请求中进行以下更改:
$.ajax({
type:'POST',
url:'/ajaxRequest', //if in js file
url:'{{route("routeName")}}', //if in blade file
datatype:'json',
data: pass,
success:function(data){
$("#result").html(data.msg);
}
}).fail(function (jqXHR, textStatus, error) {
// Handle error here
$("#result").html(jqXHR.responseText);
});
推荐阅读
- c# - 使用 Async(msg) 发送邮件需要很长时间 - 如何在后台运行它?
- mysql - Kubernetes 中待处理的 mysql 服务
- google-earth-engine - Earth Engine:使用字典在特征集合中每年显示
- python - 如何使用 python 仅解析 XML 中的某些信息
- c - 动态分配字符串以包含 C 中的用户输入
- arrays - Python image_dataset_loader 模块实例不一致
- oracle - Oracle 的 V$ 视图定义的其余部分在哪里?
- java - 我应该如何使用 Spring Data MongoDB 计算由另一个分组的字段的总和
- react-native - 在反应原生的嵌套导航中单击组件中的菜单按钮打开抽屉
- java - 有没有办法在最新的 iOS 和基于 java 的桌面程序之间发起 wifi 信息传输?