我通过jQuery AJAX调用一个Symfony操作,但是其中一个操作是返回404,我不知道为什么。
场景.
联机系统承载一个项目列表,这些项目可以添加到本地系统中。
用户按Id进行搜索,如果存在具有该Id的项目,并且他们尚未添加该Id,则项目将被添加到他们的本地系统中。
javascript
//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
}
})
}
});Symfony控制器PHP
/**
* @Route("/find-project/{Id}", name="_findProject")
* @Method({"GET"})
*/
public function findProjectByIdAction($Id)
{
$project = $this->get('crm')->findProjectById($Id);
$status = $project ? true : false;
return new JsonResponse(array('status' => $status, 'project' => $project));
}
/**
* @Route("/check-project/{Id}", name="_checkProject")
* @Method({"GET"})
*///此函数找不到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));
}已选中;站点作为路由可用:在控制台中进行调试。
请求返回为
远程地址:127.0.0.1:443请求网址:https://localhost/check-project/12345请求方法:获取状态代码:404未找到
任何帮助都非常感谢
发布于 2015-06-27 10:12:42
数组(‘Id’=> $Id);
你确定“Id”键是正确的吗?
顺便说一下。返回true或false是丑陋的,如果没有记录,则不应抛出找到的异常。
https://stackoverflow.com/questions/31076673
复制相似问题