Ajax 操作 URL 不起作用 + Symfony2

2024-02-21

我想使用 jquery 自动完成功能进行 ajax 调用,如下所示:

$("#register_player_team").autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: "{{path('volley_scout_getteams_data')}}",
            dataType: "jsonp",
            success: function( data ) {
                console.log(data);
            },
            error: function (xhr, ajaxOptions, thrownError) {
                console.log(xhr.status);
                console.log(thrownError);
            }
        });
    }
});

在我的routing.yml 中,我定义了以下路由:

volley_scout_getteams_data:
pattern:  /team/getteams
defaults: { _controller: VolleyScoutBundle:Team:getteams }

在我的 TeamController 中,我有一个名为 getteamsAction() 的操作:

public function getteamsAction()
{
    $entityManager = $this->getDoctrine()->getManager();
    // Get teams from database
    $teams = $entityManager->getRepository('VolleyScoutBundle:Teams')->findAll();

    foreach($teams as $team){
        var_dump($team);
    }

    die();
}

(dump和die()只是为了测试,我想检查他是否能找到链接)。 但是当我想进行ajax调用时,我总是收到以下错误:

http://localhost:8080/volleyscout/web/app_dev.php/user/%7B%7Bpath('volley_s…)%7D%7D?callback=jQuery110207641139030456543_1389372448462&_=1389372448463 404 (Not Found) 

由于某种原因,他找不到动作...有人知道我做错了什么吗?当我尝试这样的链接时:web/app_dev.php/team/getteams我得到了团队的转储..

UPDATE:我的 javascript 链接在基本视图(树枝)中定义如下:

{% block javascripts %}
    {% javascripts
        '@VolleyScoutBundle/Resources/public/js/jquery-1.10.2.min.js'
        '@VolleyScoutBundle/Resources/public/js/*'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

ajax 调用位于我的 page.js 中:

(function () {
    $("#register_userType").change(function(){
        var value = $(this).find("option:selected").val();
        if(value == 'P' || value == 'T'){
            $('.teams').show();
        }
        else{
            $('.teams').hide();
        }
    });
    $("#register_player_team").autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "{{path('volley_scout_getteams_data')}}",
                dataType: "jsonp",
                success: function( data ) {
                    console.log(data);
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    console.log(xhr.status);
                    console.log(thrownError);
                }
            });
        }
    });
})();

更新2:我做了以下事情:

  • 安装了捆绑包
  • 将捆绑包添加到我的 AppKernel 中
  • 在 app/config/routing.yml 中注册路由定义
  • 已发布的资产(php 应用程序/控制台资产:install --symlink web)

将 2 条 javascript 行添加到我的 base.html.twig 中,如下所示:

{% block javascripts %}
    {% javascripts
        '@VolleyScoutBundle/Resources/public/js/jquery-1.10.2.min.js'
        '@FOSJsRoutingBundle/Resources/public/js/router.js'
        '@VolleyScoutBundle/Resources/public/js/bootstrap.min.js'
        '@VolleyScoutBundle/Resources/public/js/jquery-ui-1.10.3.custom.min.js'
    %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
    <script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
    <script src="{{ asset('bundles/volleyscout/js/security.js') }}"></script>
{% endblock %}

但现在我得到这个错误:

GET http://localhost:8080/volleyscout/web/app_dev.php/js/routing?callback=fos.Router.setData 500 (Internal Server Error) register:117
Uncaught Error: The route "volley_scout_getteams_data" does not exist. 

这很奇怪。当我清除缓存时,第一次它工作得很好。当我刷新时,它显示错误......


javascript 代码中的以下行

url: "{{path('volley_scout_getteams_data')}}",

不会工作...

The best way is to use the FOSJsRoutingBundle https://github.com/FriendsOfSymfony/FOSJsRoutingBundle

1 Install FOSJsRoutingBundle https://github.com/FriendsOfSymfony/FOSJsRoutingBundle to expose your routing in your JavaScript code. (very straight-forward)

2 Enable your route

volley_scout_getteams_data:
    pattern:  /team/getteams
    defaults: { _controller: VolleyScoutBundle:Team:getteams }
    options:
        expose: true

3 Adapt your js

var getTeamsUrl = Routing.generate('volley_scout_getteams_data');

$("#register_player_team").autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: getTeamsUrl,
            //...
        });
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ajax 操作 URL 不起作用 + Symfony2 的相关文章

  • Symfony 生成器形式、原则和 M:N 关系

    我有一个基本的 M N 设置 包含三个表 candidate position 和 Candidate position 这是 MySQL Workbench 的 ERD 屏幕截图 现在 我们继续讨论表单 在 symfony 生成器的默认世
  • 写入 xml 文件时允许的内存大小已耗尽(尝试分配 4459414 字节)[重复] 67108864 字节

    这个问题在这里已经有答案了 可能的重复 php 中允许的内存大小已耗尽 尝试分配 43148176 字节 33554432 字节 https stackoverflow com questions 415801 allowed memory
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • localhost/live - 通过 HTTP_HOST 检测

    假设我在本地开发并在实时服务器上调试小东西 在我的代码中添加这样的内容是个好主意吗 is local strpos SERVER HTTP HOST localhost false define DEBUG is local 然后在设置内容
  • Zend RegEx Validator 的自定义有意义的错误消息

    我正在验证表单中的文本字段 如下所示 name new Zend Form Element Text name name gt setLabel First Name gt setRequired true gt addFilter new
  • 为什么 str.substr(0,4) 不是函数?

    我正在用 jQuery 制作一个脚本 我得到了以下数字7 2387 我所拥有的只是得到7 23 为此我编写了以下代码 var str 7 2387 var shorter str substr 0 4 但我收到这个错误 all js 55
  • 未捕获的异常:数据表编辑器 - 不允许远程托管代码

    我正在尝试使用 Datatables 使用 datatableseditor 来实现 CRUD 操作 但是我收到错误消息 1 未捕获的异常 数据表编辑器 不允许远程托管代码 请参见http editor datatables net有关如何
  • Jquery.Validate - 基于哪个选项卡添加/删除规则

    我有一个 Bootstrap 4 选项卡式界面 每个选项卡上都有输入框 我想允许用户根据他们所在的选项卡输入不同的必填字段 因此我希望根据该选项卡添加或删除验证 无论用户位于哪个选项卡 还有一些强制输入 我所做的是创建一个默认验证函数 添加
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • ASP.NET MVC 3 中嵌入的 PHP 站点的 IgnoreRoute

    我有一个带有嵌入式 WordPress 博客的 MVC 3 网站 以下所有 url 均通过 MVC 定向 www mysite com www mysite com aboutus www mysite com contactus 我还有一
  • PHP 中的异或加密

    我是 Xor 加密的新手 并且在使用以下代码时遇到了一些问题 function xor this string Let s define our key here key magic key Our plaintext ciphertext
  • 从检查元素隐藏 ''

    我有这个 HTML 和 PHP 联系表
  • 自定义 WordPress 画廊 html 布局

    当使用默认媒体上传器在 WordPress 中创建图像库时 WordPress 将图像包装在一堆 HTML 标记中 如何在生成之前覆盖它 以便我可以输出所需的标记并更改创建图库布局的方式 目前 WordPress 生成的代码如下 div d
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • 未捕获的类型错误:对象 # 在 Chrome 中没有“查找”方法

    可能与 未捕获的类型错误 对象 没有方法 查找 https stackoverflow com q 11134646 561731 这是我的问题的讨论的聊天记录 https chat stackoverflow com rooms 17 c
  • 根据文本内容从 jquery 对象中过滤元素

    我正在尝试使用contains带有 this 关键字 但它给出了错误 JS function var check ul find li filter function return this contains two css color r
  • Mysql加密/存储敏感数据,

    我的 PHP 网站有以下内容 启用 SSL 饼干 session set cookie params cookieParams lifetime cookieParams path cookieParams domain secure ht
  • 管理产品页面自定义字段显示在购物车和结账中

    我在产品页面的常规设置选项卡上的 WooCommerce 管理中创建了一个自定义字段 以插入几天的制造时间 我想在购物车和结帐页面上每个产品名称上方显示此自定义字段值 这是我的代码 Insert a Custom Admin Field f
  • jQuery:如何正确使用 .stop() 函数?

    在本页面 http www arvag net old smsbox de http www arvag net old smsbox de 当您将鼠标悬停在 Informationen 和 ber ins 上时 它会显示一个子菜单 当您将
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时

随机推荐

  • 获取内容:找不到路径

    我正在尝试在 PowerShell 中编写一个脚本 该脚本在 foreach 循环中读取名称中包含 example 的特定文件夹中的所有唯一文件 问题是我试图将每个文件的内容保存在变量中但没有成功 尝试使用获取内容 file它会抛出以下错误
  • 从 PHP 创建 MySQL 用户和数据库

    有没有办法使用 PHP 创建一个新的 MySQL 数据库 一个新的 MySQL 用户并授予新用户对新数据库的权限 EDIT 应该指出 这是从一台服务器运行到另一台服务器 因此服务器 A 尝试在服务器 B 上安装数据库 用户 我有这个 con
  • fetch 给出一个空的响应主体

    我有一个 React Redux 应用程序 我正在尝试向服务器发出一个简单的 GET 请求 fetch http example com api node mode no cors method GET headers Accept app
  • 如何使用 Corda Vault Extension 创建自定义架构

    从 Corda 文档来看 我们可以在 Vault Extension 中拥有自定义架构 然而 Vault Extension 并没有太多明确性 它应该能够创建 管理与节点Vault数据库相关的自定义数据库模式 我们是否会在 Corda 的功
  • App Engine Flex 的默认 VPC 防火墙规则是什么

    我在一个 App Engine 灵活环境项目中部署了一些服务 服务实例在同一个 VPC 网络 非默认 中运行 该网络在其指定的 VPC 网络中指定 app yaml文件和分配的 IP 地址来自同一子网 默认情况下 这两个服务都可以从外部访问
  • aspx页面重定向到新页面

    将浏览器重定向到包含 ASPX 页面的新页面所需的代码是什么 我在我的页面 default aspx 上尝试过此操作 or 这些导致了未确定的服务器错误 我看不到错误代码 因为服务器不在我的控制范围内 错误也不公开 请提供从页面第一行到末尾
  • 从 UICollectionViewCell 传播自定义事件

    我有一个自定义的 UICollectionViewCell 里面有一个按钮 当我点击按钮时 会在该子类中触发一个事件 然后我想在 UICollectionView 本身上触发一个事件 我可以在视图控制器中处理该事件 伪代码 class My
  • 在 Visual Studio 中关闭 WCF 服务主机[重复]

    这个问题在这里已经有答案了 可能的重复 如何防止 Visual Studio 在调试中启动 Wcf SvcHost exe https stackoverflow com questions 283145 how to prevent vi
  • 按下/松开 WPF 按钮时触发事件

    我需要在按下 WPF 按钮 通过鼠标 键盘 触摸屏等 时触发一些事件 并在未按下 WPF 按钮时触发事件 这个怎么做 这应该很容易 但我找不到如何做到这一点 您可以从 Button 派生并覆盖按下时更改 http msdn microsof
  • 将 pandas dataframe 转换为内存中类似文件的对象?

    我每天都会将大约 2 250 万条记录加载到 Postgres 数据库中 然后 我使用 pd read sql 读取这些数据 将其转换为数据帧 然后进行一些列操作和一些小的合并 我将修改后的数据保存为单独的表以供其他人使用 当我执行 pd
  • 数据库查询表示模拟 Windows 共享上的文件?

    有没有办法让某些东西看起来就像 Windows 文件共享上的文件 但实际上是通过 HTTP 提供的资源 对于上下文 我正在使用一个只能处理 Windows 文件共享上的文件的旧应用程序 我想创建一个简单的基于 HTTP 的服务来动态地提供文
  • 为什么我无法在 Angular 2 组件中加载谷歌地图?

    这是我的 ts 组件 import Component OnInit Output EventEmitter from angular core declare var google any Component selector app r
  • Chrome webtools 调试器自行恢复脚本执行

    我在 Chrome 开发工具中看到了奇怪的行为 我在 JavaScript 中设置了一个断点 然后断点命中并停止执行 代码窗口显示了我的代码中的断点所在的点 该窗口具有淡黄色背景颜色 然后 5 秒后执行自动神奇地恢复 而无需我告诉它 以前有
  • Angular 2 - 什么相当于 Root Scope?

    全部 我有这个组件 当我单击 href 时 如果它是 Angular 1 则应该将变量设置为根范围 如下所示 selector my component template div constructor this addTag functi
  • 在C中将十进制转换为二进制

    我正在尝试将十进制转换为二进制 例如 192 到 11000000 我只需要一些简单的代码来执行此操作 但到目前为止我的代码不起作用 void dectobin int value char output int i output 5 0
  • Angular同步http循环更新进度条

    我正在尝试使用 foreach 内的顺序 http 请求来更新进度条 这可行 但它在完成时不同步 进度条正在通过 http 调用同步 我做错了什么 angular forEach queue function item if item ui
  • F#:实现函数名与关键字begin相同的接口

    我正在尝试实现 IVector 接口 它是 Microsoft VisualC StlClr 命名空间的一部分 它有一个成员函数begin 如果我尝试实现该接口 那么它会抱怨 对象表达式中出现意外的关键字 开始 这是因为 begin 是一个
  • glibc中的CSU代表什么?

    我正在读一本article http dbp consulting com tutorials debugging linuxProgramStartup html在C启动时 它指的是函数 libc csu init 谁能告诉我 CSU 代
  • 在打字稿中应该定义什么类型的超时

    我正在尝试在打字稿中编写一个去抖函数 但不确定要设置分配给什么类型的变量setTimeout 我的代码如下所示 function debounced func gt void wait number what type should tim
  • Ajax 操作 URL 不起作用 + Symfony2

    我想使用 jquery 自动完成功能进行 ajax 调用 如下所示 register player team autocomplete source function request response ajax url path volle