首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用symfony的ajax路由

使用symfony的ajax路由
EN

Stack Overflow用户
提问于 2018-06-06 16:41:38
回答 2查看 1.8K关注 0票数 0

我正在使用symfony和twig,并试图使用ajax路由到存在的控制器函数。我试图到达的路由似乎被附加到调用ajax的当前路由(页面)中。是什么导致了这一切,我做错了什么?我是这方面的中间人。提前感谢你的努力。

ajax看起来像;

代码语言:javascript
复制
    $.ajax({url: "{{ path('material-stock_check') }}/" + quoteRing.materialId + "/" + quoteRing.gaugeId + "/" + decimal, success: function (results) {
            if (results.length === 0) {
                quoteRing.findStripWidthAlternates();

            }
        }});

控制器看起来就像

代码语言:javascript
复制
    /**
 * Check if the strip width is in the Inventory
 * @Route("/check/{materialId}/{gaugeId}/{decimal}", defaults={"materialId" = 0, "gaugeId" = 0, "decimal" = 0}, name="material-stock_check")
 * @Method("GET")
 */
public function checkStripWidthAction (Request $request, $materialId, $gaugeId, $decimal)
{
    $em = $this->getDoctrine()->getManager();

    $materialStocks = $em->getRepository('UniflyteBundle:MaterialStock')->findAllByParams(['widthDecimal' => $decimal, 'materialId' => $materialId, 'gaugeId' => $gaugeId]);

    if ($request->isXmlHttpRequest()) {
        if (null === $materialStocks) {
            return new JsonResponse('failure');
        }
        $results = [];
        foreach ($materialStocks as $result) {
            $results[] = [
              'gaugeId'    => $result->getGauge()->getId(),
              'materialId' => $result->getMaterial()->getId()
            ];
        }

        return new JsonResponse($results);
    }
}

当ajax被调用时,我得到

代码语言:javascript
复制
No route found for "GET /uniflyte/quote-ring/new/%7B%7B%20path('material-stock_check')%20%7D%7D/93/347/3.45" (from "http://localhost:8088/uniflyte/quote-ring/new/rolled-ring")

ajax路由看起来附加在现有路由上。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-07 09:47:47

{path(.)}似乎没有像@Omar Alves所说的那样被twig评估。

尝试以下操作,在小枝文件中声明一个变量

代码语言:javascript
复制
<script>
    var url = '{{ path("material-stock_check") }}';
</script>

然后再用它

票数 3
EN

Stack Overflow用户

发布于 2018-06-06 22:30:49

您在路由文件中声明路径了吗?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50725501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档