php - Symfony 和 AJAX 404 响应

标签 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));
}

已检查; 站点可作为来自控制台中的路由的路由:debug

请求返回为

远程地址:127.0.0.1:443 请求网址:https://localhost/check-project/12345 请求方式:GET 状态代码:404 未找到

非常感谢任何帮助

最佳答案

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

您确定“Id”键正确吗?

顺便说一句。返回 true 或 false 很难看,如果不存在记录,您应该抛出未找到异常

关于php - Symfony 和 AJAX 404 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31076673/

相关文章:

php - $_SERVER ["REQUEST_URI"] 安全吗?

javascript - 无法在 Angular js 中加载资源错误

javascript - 包含 jQuery $.post() 函数的函数的返回值

javascript - 无法在选择框更改时将数据发送到 php

javascript - 如何使用 AJAX 输入 javascript 变量并在特定时间间隔更新 javascript 中的函数?

php - 使用 PHP 上下移动记录

php - 无效的链接: Cannot load presenter 'Post' , class 'App\Presenters\PostPresenter' was not found

jquery - 在 url 中传递多个类似哈希的参数

javascript - 如何从表单变量对象的属性中获取特定内容

javascript - 在 Angular 2 中实现 HTTP Web 请求