Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
jQuery不是';即使它';s加载到Rails 4应用程序中(加载jquery.turbolinks)_Jquery_Html_Ruby On Rails_Ajax_Haml - Fatal编程技术网

jQuery不是';即使它';s加载到Rails 4应用程序中(加载jquery.turbolinks)

jQuery不是';即使它';s加载到Rails 4应用程序中(加载jquery.turbolinks),jquery,html,ruby-on-rails,ajax,haml,Jquery,Html,Ruby On Rails,Ajax,Haml,我有一个rails应用程序,当点击链接时,jQuery不会在页面上启动,尽管它应该启动。我希望发生的是,如果单击了链接,那么警报消息就会消失,AJAX响应会发送给控制器。我已经为单击的链接关闭了turbolinks,并加载了jquery.turbolinks,这应该解决了这个链接的问题(过去也有)。我使用的是RubyonRails4。欢迎有任何见解 在视图中的index.html.haml文件中,我有 = link_to "To be added", "#", :class => "lev

我有一个rails应用程序,当点击链接时,jQuery不会在页面上启动,尽管它应该启动。我希望发生的是,如果单击了链接,那么警报消息就会消失,AJAX响应会发送给控制器。我已经为单击的链接关闭了turbolinks,并加载了jquery.turbolinks,这应该解决了这个链接的问题(过去也有)。我使用的是RubyonRails4。欢迎有任何见解

视图中的index.html.haml文件中,我有

= link_to "To be added", "#", :class => "levelup", 'data-no-turbolink' => true
现在,在我的
javascripts
文件夹中的
application.js
文件中,我加载了以下行:

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require_tree .
stats\u uploader.js
文件位于
javascripts
文件夹中,该文件可能会执行警报和ajax文件,其中包含以下内容:

$('.levelup').click(function() { 
  alert("Yeah");

  var level = $('.playerlevel').text();
  alert(level); //Pat
  level++;
  alert(level); //Pat

  $.ajax({type: "GET",

    url: $(this).attr("href"),
    dataType: "script",
    data:  level ,
    error: function() {
      alert("AJAX failed");
    },
    success: function() {
      alert("Success");
    }

  });
});
当我在页面上查看source时,我会得到这些相关的行,它们表示stats_uploader表单已经加载,以及应用于元素的适当类

    <script data-turbolinks-track="true" src="/assets/jquery.turbolinks.js?body=1"></script>
    <script data-turbolinks-track="true" src="/assets/turbolinks.js?body=1"></script>
    <script data-turbolinks-track="true" src="/assets/stats_uploader.js?body=1"></script>

...
...
...
...
      <div class='container'>
        yessir
        Player Level
        <div class='playerlevel'>
          1
        </div>
        <!-- TODO Make Buttons to click on -->
        <a class="levelup" data-no-turbolink="true" href="#">To be added</a>
      </div>

...
...
...
...
耶塞尔
玩家级别
1.

如果页面的结构如图所示,那么问题可能是您试图将单击处理程序连接到页面中尚不存在的链接上。您需要将您的
单击
设置包装到
$(文档)中。就绪
功能:

$( document ).ready(function() {
  $('.levelup').click(function() { ... });
});
或简称:

$(function() {
  $('.levelup').click(function() { ... });
});

嘿,谢谢你。这昨天不起作用,但今天起作用了,所以我想证据就在布丁里。谢谢