问题标签 [fosjsroutingbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
984 浏览

symfony4 - 使用 Symfony4 配置 FosJsRoutingBundle

我想在我的 Symfony4 项目中使用 FosJsRoutingBundle。


我已经使用了这个包,并且与 symfony 的集成非常简单快捷。但是对于 Symfony4,我在将所有暴露路由 symfony 加载到 JavaScript 脚本时遇到了一个奇怪的问题。


我的 FosJsRoutingBundle 版本:“friendsofsymfony/jsrouting-bundle”:“^2.2”,

我已将我的 2 个脚本 javascript 包含到用于加载配置和路由的头部布局页面中

我的 fos_js_routing.yaml 配置文件

我的公用文件夹 symfony 项目的结构在此处输入图像描述

当我调用我的网页时,我的问题抛出

加载源为的元素失败  

http://xxxx.xxxxx.xxxxx/js/routing?callback=fos.Router.setData ».


如何使用新的 symfony4 项目结构正确加载这个包?

0 投票
1 回答
318 浏览

symfony-3.3 - FOSJsRoutingBundle 使用 baseurl 转储

我用

php bin/console fos:js-routing:dump -e=prod --target="web/js/fos_js_routes.prod.js"

转储所有路由,但问题是我的生产 symfony 不在根 url 中。

我的意思是,它放置在https://myshop.com/symfonyapp并且所有生成的路线都没有/symfonyapp

例如homepage成为/和我期望的是/symfonyapp/

如何设置 baseurl 转储所有路由?

0 投票
3 回答
3153 浏览

javascript - 4 FOSJSRouting 回调=fos.Router.setData & Route 仅在生产中找不到

我正在 Symfony 4 中开发一个需要 FOSJSrouting 捆绑包的页面。在我的 DEV 环境中 - 使用 docker - 我使用以下步骤让它正常工作。

但是,在我的产品环境中,我不断收到错误消息:

我让它在 DEV 中工作的步骤:

  • /li>
  • 将以下内容添加到routes.yaml

    /li>
  • 将以下内容添加到我的 base.html.twig

    /li>

这足以让我暴露的路线工作:

然后在我的 JavaScript 中我做了:

我在我的 Linux 服务器上使用 composer 安装了路由包,甚至尝试了文档中包含的步骤来发布资产以及转储路由,如下所示:

我检查了 symfony 和 Apache 日志。那里没有任何关于这个问题的暗示。其他一切都运行良好,只是 FOSrouting 造成了麻烦。另外,我试过:

这实际上暂时解决了这个问题,但是第二天,在我从本地存储库进行了另一个 rsync 之后,它又被破坏了。

0 投票
2 回答
871 浏览

jquery - 选择日期jQuery的日期选择器中的Ajax调用?

我正在构建 Monthpicker。如何在 datepicker 中进行 ajax 调用?

如何传递选定的值onClose?我想在 ajax 调用后渲染一个表格。我正在使用 fos_routing.js。

0 投票
0 回答
125 浏览

javascript - Symfony 中的日期范围过滤器使用 fosjsrouting Bundle

我对 ajax 请求很陌生。我正在尝试制作一个日期范围过滤器来显示两个日期之间的帖子,因为我正在使用这个Calendar

这是日历输入:

在 Js 中,我使用以下代码:

});

这是我在 Symfony 中的功能

当我选择两个日期并按下应用 Btn 时,我得到了从 jsRouting 生成的正确日期,并将其发布在控制台中,但没有其他任何事情发生。如果 Ajax 请求在这里不起作用,如何使用新 URL 刷新页面。

0 投票
1 回答
710 浏览

symfony - nginx https + varnish + apache http = 重定向循环中的 Symfony 或

我在 nginx https + varnish + apache http = 重定向循环中配置了 Symfony

我提出了路由方案以获取链接 https : ['https'] 但得到重定向循环,为什么?看起来 symfony 不仅使用 https 创建链接,而且在获取 http 时返回重定向 - 我需要 http 页面在清漆中缓存,但链接 https。

更新 1 当我在路由中没有放置架构并通过 https 运行页面时,几乎一切正常 - 没有

1 fos 路由它创建绝对 http 链接

2 liip 想象同样的情况

0 投票
1 回答
943 浏览

javascript - 获取由 Symfony4 Webpack Encore 在 twig / FosJsRouting 包中转译的 js 变量

我在 symfony4 上使用 fos_js_routing 包。我需要在我的树枝视图中获取路由对象。我在 assets/js/app.js 中定义了 Routing,这是一个使用 Webpack Encore 转译的 js 文件。因为我的 Routing 对象已正确构建在此文件中,所以我想在 Twig 视图中访问它。

我的 webpack 配置中有这一行:

我得到了我的 twig 视图,其中转译的 app.js 可以通过 webpack Encore 访问并成功转译。但是变量路由不可访问(我得到客户端错误:路由未定义),

可能是因为在编译过程中被定义为let,并且我希望它作为一个var,在我包含已编译的 app.js ( public/build/js/app.js )的每个 twig 视图中都可以访问。我的 Twig 视图包括这一行中的转译文件,并成功导入到我的 twig 源中

如何使用 Webpack encore 在我的树枝视图中获取路由?

0 投票
1 回答
1093 浏览

javascript - Symfony 4,安装和使用jsrouting-bundle,我的控制器的路由“不存在”

从 Symfony 4 开始,我需要从 javascript 生成我的控制器(将来需要一些参数的控制器)的动态 url 路径。

经过一些谷歌搜索后,我通过一个简单的方法找到并安装了 jsrouting-bundle composer require friendsofsymfony/jsrouting-bundle(我执行了配方)

我在我的树枝文件中包含这些行:

当我加载我的页面时,没有出现任何 javascript 错误。

所以,我创建了这个非常简单的 symfony 控制器(用于 AJAX 调用):

在我的自定义 javascript 脚本 (global.js) 中,我尝试了这个:

警报(路由。生成('ajax_test'));

但是当我加载页面时,我得到了这个 javascript 错误:

为什么找不到路线?我的错误在哪里?

备注:

friendsofsymfony/jsrouting-bundle 文档中,从我执行命令时bin/console assets:install --symlink web开始出现错误The target directory "web" does not exist.。所以,我简单地执行了bin/console assets:install --symlink

如果我去“ http://localhost/mywebsite/public/js/routing?callback=fos.Router.setData ”,我得到/**/fos.Router.setData({"base_url":"\/mywebsite\/public","routes":[],"prefix":"","host":"localhost","port":"","scheme":"http"});

0 投票
2 回答
628 浏览

php - JQuery Ajax 异步重定向

在异步ajax POST 请求后重定向时,我遇到了一个奇怪的问题。我想向服务器发送一个异步 POST 请求(文件上传),直到我等待它完成,因为这需要一些时间,我想重定向到不同的路线,在那里我可以看到上传的状态。我的问题是,即使我声明请求是异步的,它也会先同步等待该请求完成,然后再重定向我。我是否偶然错过了什么?

我使用的是 Symfony 3.4,JQuery 版本是 2.1,对于重定向,我使用 FOS JS Routing Bundle v~1.4

0 投票
1 回答
489 浏览

javascript - 在 javascript 文件中使用路由 FOSJSRoutingBundle 返回错误

我正在开发 symfony 项目(版本 3.4) 我想从 javacsript 文件访问路由。我在 symfony 文档中看到我可以使用 FOSJsRoutingBundle。我已按照文档进行安装和配置,但是当我尝试访问我的网站时,出现此错误:Uncaught SyntaxError: Unexpected identifier。这与添加到我的 js 文件中的这一行有关:

从'../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js'导入路由;

这是我在 dev.log 文件中得到的:

[2018-11-30 22:50:53] security.INFO:使用匿名令牌填充 TokenStorage。[] [] [2018-11-30 22:50:54] 学说.DEBUG: SELECT t0.id AS id_1, t0.name AS name_2 FROM category t0 [] [] [2018-11-30 22:50:55 ] request.INFO:匹配路由“fos_js_routing_js”。{"route":"fos_js_routing_js","route_parameters":{"_controller":"fos_js_routing.controller:indexAction","_format":"js","_route":"fos_js_routing_js"},"request_uri":" http: //localhost:8888/jobeet/web/app_dev.php/js/routing?callback=fos.Router.setData ","method":"GET"} [] [2018-11-30 22:50:56] 请求.INFO:匹配的路由“_wdt”。{"route":"_wdt","route_parameters":{"_controller"","方法":"GET"} []

提前感谢您的回复。在此处输入图像描述