Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax @ParamConverter注释未找到Symfony 5对象_Ajax_Symfony_Annotations - Fatal编程技术网

Ajax @ParamConverter注释未找到Symfony 5对象

Ajax @ParamConverter注释未找到Symfony 5对象,ajax,symfony,annotations,Ajax,Symfony,Annotations,我用的是Symfony 5和Doctrine 2 当我使用下面描述的ajax调用时,会出现以下错误: @ParamConverter找不到App\Entity\Calendar对象 注释 但是,我的路线不使用参数 这是我的ajax功能: var url = Routing.generate('calendar.ajaxEditEvent'); $.ajax({ type: "POST", url: url, data: {

我用的是Symfony 5和Doctrine 2

当我使用下面描述的ajax调用时,会出现以下错误:

@ParamConverter找不到App\Entity\Calendar对象 注释

但是,我的路线不使用参数

这是我的ajax功能:

    var url = Routing.generate('calendar.ajaxEditEvent');

    $.ajax({
    type: "POST",
    url: url,
    data: {

            title: e.event.title,
            description: e.event.extendedProps.description,
            start: e.event.start,
            end: e.event.end,
            backgroundColor: e.event.backgroundColor,
            borderColor: e.event.borderColor,
            textColor: e.event.textColor,
            allDay: e.event.allDay,
            calendarId: e.event.id

          }
    ,  
    dataType: 'json',  
    async: true,
    sucess: function(reponse){

        console.log('success');
        console.log(response);

    },  
    error : function(response) {  

        console.log('error');
        console.log(response);  

    }

});
以及我的控制器中的调用函数:

/**
 * @Route("/ajaxEditEvent", options={"expose"=true}, name="calendar.ajaxEditEvent", methods={"POST"})
 *
 * @param CalendarRepository $calendarRepository
 * @param Request $request
 * @param EntityManagerInterface $manager
 * 
 * @return Response
 */
public function ajaxEditEvent(CalendarRepository $calendarRepository, Request $request, EntityManagerInterface $manager): Response
{
    
    $title = $request->get('title');
    $description = $request->query->get('description');
    $start = $request->query->get('start');
    $end = $request->query->get('end');
    $backgroundColor = $request->query->get('backgroundColor');
    $borderColor = $request->query->get('borderColor');
    $textColor = $request->query->get('textColor');
    $allDay = $request->query->get('allDay');
    $calendarId = $request->query->get('calendarId');

    if(
        !empty($title) &&
        !empty($description) &&
        !empty($start) &&
        !empty($backgroundColor) &&
        !empty($borderColor) &&
        !empty($textColor)
      ) 
    {
       
        $code = 200;
        $message = '';

        if(empty($calendarId))
        {

            $calendar = new Calendar;
            $code = 201;

        }
        else
        {

            $calendar = $calendarRepository->find($calendarId);

        }

        $calendar->setTitle($title);
        $calendar->setDescription($description);
        $calendar->setStart(new DateTime($start));

        if($allDay)
        {

            $calendar->setEnd(new DateTime($start));

        }
        else
        {
                               
            $calendar->setEnd(new DateTime($end));

        }

        $calendar->setAllDay($allDay);
        $calendar->setBackgroundColor($backgroundColor);
        $calendar->setBorderColor($borderColor);
        $calendar->setTextColor($textColor);

        $manager->persist($calendar);
        $manager->flush();

        $message = 'OK';

    }
    else
    {

        //return new Response('Incomplete data', 404);
        $code = 404;
        $message = 'Incomplete data';

    }

    return new Response($message, $code);
}

我不明白@ParamConverter在哪里使用。

我将在这里冒险提出建议,您可能有两条与该uri匹配的路由,但您看到的是错误的一条,而另一条路由实际上有一个类型为
Calendar
的param,由于我们不知道的原因无法创建,因为我们看不到该方法;o) 非常感谢您的关注。我没有任何其他同名的路由…我不想吹毛求疵,但相同的路由名称几乎不相关,路径*/*uri很重要。您的错误消息应该包含引发错误的位置,请显示完整的错误消息(包括堆栈跟踪)。我没有任何其他具有相同url的路由