Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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
Javascript 如何检查FOSJSRoutingBundle中是否存在路由_Javascript_Symfony - Fatal编程技术网

Javascript 如何检查FOSJSRoutingBundle中是否存在路由

Javascript 如何检查FOSJSRoutingBundle中是否存在路由,javascript,symfony,Javascript,Symfony,这是一个错误,我如何检查之前是否存在路由 错误是因为路由不存在,但我希望在这种情况下显示消息或其他内容。使用控制台工具。在Symfony2中,它是: var possibleRoute = "crm_finance_report"; var route = Routing.generate( possibleRoute ); 在Symfony3中,它是: app/console debug:router 最后,根据您使用的操作系统,如果php不能像上面的示例那样工作,您必须预先编写php

这是一个错误,我如何检查之前是否存在路由


错误是因为路由不存在,但我希望在这种情况下显示消息或其他内容。

使用控制台工具。在Symfony2中,它是:

var possibleRoute = "crm_finance_report";  
var route = Routing.generate( possibleRoute );
在Symfony3中,它是:

app/console debug:router

最后,根据您使用的操作系统,如果php不能像上面的示例那样工作,您必须预先编写
php

您可以检查以下几点:

  • 错误说明了什么
此外:

  • 路线是否标记为暴露?:

    bin/console debug:router
    
  • 您是否
    dump
    您的路线?:
    bin/console fos:js routing:dump

  • 是否将JS路由脚本添加到HTML中

    options:
        expose: true
    
    
    
一定要看报纸


编辑:要使用JavaScript专门检查路由是否不存在,可以做两件事:

  • 调用
    Routing.getRoutes()
    ,检查您的路由是否存在
  • 调用
    Routing.getRoute(…)
    并捕获一个错误(如果路由
    不存在,将抛出该错误)

  • 也许我没有解释我自己,问题是这条路线根本不存在,其他路线都很好。我想知道如何检查之前。我想这可以用,谢谢。无论如何,这是路由,而不是路由器。有人提出了一个问题,但提议的PR从未实施-。您可以尝试该方法,甚至可以作为一个函数,并将FOSJSRoutingBundle作为服务传递,以确定路由是否存在。我需要签入javascript,以显示消息或其他内容。抱歉,我看到它被标记为symfony2,并认为您不知道以前存在哪些路由。用“之前”这个词,我在服务器端思考。
    <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
    <script src="{{ path('fos_js_routing_js', {'callback': 'fos.Router.setData'}) }}"></script>