【发布时间】:2019-03-12 22:31:24
【问题描述】:
我一直在尝试在我的 laravel 项目中使用 AJAX,但它总是返回错误,
RouteCollection.php 上的 NotFoundHttpException", "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')};
请帮我解决这个错误。
【问题讨论】:
-
使用路由名调用路由有什么问题吗?
-
'{{url("/ajaxRequest")}}'- 如果您在 JS 文件(刀片外部)中,这可能不会产生您认为应该具有的效果。 -
使用
url:'/ajaxRequest',,如果您按照@Exterminator 的建议将ajax 代码放在单独的js 文件中 -
欢迎。使用浏览器控制台/网络选项卡确保请求正确。您也可以使用
php artisan route:list来确保您的路线在系统中。 (使用php artisan route:cache重新加载/缓存您的路由文件)
标签: php ajax laravel methodnotfound