Php Symfony和ajax404响应
我通过jqueryajax调用Symfony操作,但是其中一个操作返回404,我不知道为什么 场景。 在线系统承载项目列表,这些项目可以添加到本地系统 用户按Id进行搜索,如果存在具有该Id的项目,但尚未添加该项目,则该项目将添加到其本地系统中 javascriptPhp Symfony和ajax404响应,php,jquery,ajax,symfony,Php,Jquery,Ajax,Symfony,我通过jqueryajax调用Symfony操作,但是其中一个操作返回404,我不知道为什么 场景。 在线系统承载项目列表,这些项目可以添加到本地系统 用户按Id进行搜索,如果存在具有该Id的项目,但尚未添加该项目,则该项目将添加到其本地系统中 javascript //CHECK IF EXTERNAL PROJECT CAN BE IMPORTED $.get("/find-project/" + Id, function( data ) { << THIS ONE IS G
//CHECK IF EXTERNAL PROJECT CAN BE IMPORTED
$.get("/find-project/" + Id, function( data ) { << THIS ONE IS GOOD
if(data['status'] === false){
//PROJECT WITH THAT ID NOT FOUND
}else{
//PROJECT WITH THAT ID EXISTS
// HAVE YOU ALREADY ADDED THAT PROJECT
$.get("/check-project/" + Id, function(data){ << THIS RETURNS 404
if(data === false){
//PROJECT HAS NOT BEEN ADDED.. ADD IT
}else{
//PROJECT HAS ALREADY BEEN ADDED
}
})
}
});
//找不到该函数404
public function checkIfProjectExistsAction($Id){
$query = $this->getDoctrine()->getRepository('AppBundle:Project')->findOneBy(array('Id' => $Id));
$cnt = count($query->getResult());
$cnt == 0 ? $status = false : $status = true ;
return new JsonResponse(array('status' => $status));
}
已经检查过;
站点是控制台中route:debug的可用as路由
请求返回为
远程地址:127.0.0.1:443
请求URL:
请求方法:获取
状态代码:404未找到
非常感谢您的帮助
->findOneBy(数组('Id'=>$Id))
您确定“Id”键正确吗
顺便说一句,返回true或false很难看,如果不存在记录,则应抛出not found exception(未找到异常),因为您正在使用生产环境。是否清除缓存以使用当前路由进行更新?在
->getRepository()
之前,您不应该尝试->getManager()
?1。清除生产环境中的缓存rm-rf app/cache/*
2。检查javascript中Id
变量的范围,可能是本地变量,您正在使用undefined
发送ajax调用,非常感谢大家,这是一个缓存问题。这是一个缓存问题。感谢您对未发现异常的建议。我将来会这样做的
public function checkIfProjectExistsAction($Id){
$query = $this->getDoctrine()->getRepository('AppBundle:Project')->findOneBy(array('Id' => $Id));
$cnt = count($query->getResult());
$cnt == 0 ? $status = false : $status = true ;
return new JsonResponse(array('status' => $status));
}