Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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 FOSJsRoutingBundle-路线“;xxx“;不存在_Ajax_Symfony_Nginx - Fatal编程技术网

Ajax FOSJsRoutingBundle-路线“;xxx“;不存在

Ajax FOSJsRoutingBundle-路线“;xxx“;不存在,ajax,symfony,nginx,Ajax,Symfony,Nginx,我正在使用fosJsRouting为我的ajax调用生成路由 操作系统:Ubuntu 16.04+nginx+PHP7 app/Kernel.php public function registerBundles() { $bundles = array( new FOS\JsRoutingBundle\FOSJsRoutingBundle(), ); 和配置 app/config/config.yml fos_j

我正在使用fosJsRouting为我的ajax调用生成路由

操作系统:Ubuntu 16.04+nginx+PHP7

app/Kernel.php
    public function registerBundles()
    {
        $bundles = array(
            new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
            );
和配置

app/config/config.yml
fos_js_routing:
    resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"
app:
    resource: "@AppBundle/Controller/"
    type:     annotation
这是包路由

pablo_user_getonline:
    path:     user/getonline
    defaults: { _controller: pabloUserBundle:User:getonline }
    methods:  [POST,GET]
    options: { expose: true }
Js:

$(document).ready(function(){
        $.ajax({
            url: "pablo_user_getonline",
            method: "POST",
            data:[],
            success: function (result) {

                $('#delete-progress').addClass('hidden');

                if(result.data == 1)
                {
                    alert("Status changed");
                }
                else
                {
                    $('#message-danger').removeClass('hidden');

                    $('#user-message-danger').text(result.message);
                }
            }}).fail(function(){
            alert('ERROR');
        });
});
还有布局

{% block javascripts %}
<script src="{{ asset('public/js/jquery-3.1.0.min.js') }}"></script>
<script src="{{ asset('public/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ asset('bundles/pablouser/js/bootbox.min.js') }}"></script>
<script src="{{ asset('bundles/pablouser/js/set-online.js') }}"></script>
<script src="{{ asset('bundles/pablouser/js/get-online.js') }}"></script>
<script src="{{ asset('bundles/pablouser/js/noty/packaged/jquery.noty.packaged.min.js') }}"></script>
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
{% endblock %}
在Routing.generate时找到此路由中的任何一个

我一直在四处寻找解决方案,因此我尝试:

  • 将选项设置为expose=true
  • 将此路由添加到app/config/config.yml中以公开
  • Symfony缓存已清除
  • 所有资产都已安装

要生成url,您应该使用
路由。生成(路径、参数)

您还应该添加

<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>


根据定义

在控制台中尝试:
Routing.generate('route_name',/*您的参数*/)
url: Routing.generate("pablo_user_getonline"),
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>