Ajax FOSJsRoutingBundle-路线“;xxx“;不存在
我正在使用fosJsRouting为我的ajax调用生成路由 操作系统:Ubuntu 16.04+nginx+PHP7Ajax 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
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缓存已清除
- 所有资产都已安装
路由。生成(路径、参数)
您还应该添加
<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>