我有一个Laravel应用程序,它将URL转发给Backbone:
urlContainer['userAjax'] = "{!! RoutingService::actionAjax('AccountController@getUserAjax') !!}";
骨干得到它:
App.Models.User = bb.Model.extend({
url: urlContainer.userAjax,
});
稍后我称之为:
var userLogged = new App.Models.User();
userLogged.fetch();
我遇到的问题是我在Laravel中制作的中间件没有将其注册为AJAX调用:
public function handle($request, Closure $next)
{
$parsedUrl = parse_url($request->url());
if (key_exists('path', $parsedUrl) && strpos($parsedUrl['path'], '-ajax') !== false && !$request->ajax()) {
return response('Bad request', 400);
}
return $next($request);
}
前两个条件是正确的,但最后一个条件不是。它表现得像是不是AJAX请求?