Symfony和AJAX 404响应

时间:2015-06-26 15:11:02

标签: php jquery ajax symfony

我通过jQuery AJAX调用Symfony操作,但其中一个操作返回404,我不确定原因。

情景。

在线系统托管项目列表,这些项目可以添加到本地系统。

用户按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 Controller 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 请求方法:GET 状态代码:404 Not Found

任何帮助非常感谢

1 个答案:

答案 0 :(得分:0)

  

- &gt; findOneBy(array('Id'=&gt; $ Id));

你确定'Id'键是否正确?

顺便说一句。返回true或false很难看,如果没有记录,你应该抛出未找到的异常