【问题标题】:Symfony and AJAX 404 responseSymfony 和 AJAX 404 响应
【发布时间】:2015-09-13 14:44:00
【问题描述】:

我通过 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 控制器 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 未找到

非常感谢任何帮助

【问题讨论】:

  • 由于您使用的是生产环境,您是否清除了缓存以使用当前路由更新它?试试localhost/app_dev.php/check-project/12345
  • 你不应该先-&gt;getManager()-&gt;getRepository()吗?
  • 1.清除生产环境中的缓存rm -rf app/cache/* 2. 检查 javascript 中 Id 变量的范围,可能它是本地的,并且您正在使用 undefined 发送 ajax 调用
  • 非常感谢大家,原来是缓存问题。

标签: php jquery ajax symfony


【解决方案1】:

->findOneBy(array('Id' => $Id));

您确定“Id”键正确吗?

顺便说一句。返回 true 或 false 是丑陋的,如果没有记录,你应该抛出 not found 异常

【讨论】:

  • 原来是缓存问题。感谢您对未找到异常的建议。我以后会这样做
猜你喜欢
  • 2016-12-29
  • 2016-05-03
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多