AJAX加载的html不使用外部JS

时间:2016-04-13 15:10:31

标签: javascript jquery html ajax

我的设置:

我正在使用Laravel和刀片。

  • 我有一个post.blade.php文件扩展了blog.blade.php(母版页)
  • 在master.blade.php文件中
  • ,我在</body>标记之前加载了所有外部脚本:

示例:

 @if (!App::environment('local'))
      <script src="{{ elixir('js/libs.js') }}"></script>
      <script src="{{ elixir('js/public.js') }}"></script>
 @else
      <script src="{{ asset('js/libs.js') }}"></script>
      <script src="{{ asset('js/public.js') }}"></script>
 @endif

 @yield('scripts')
  • 在我的post.blade.php文件中,我有@section('scripts')部分,它在外部加载的JS下面产生(参见上面的例子)。

在post.blade.php文件的JS中(在@section('scripts')中),我使用ajax动态加载表单

if(ctaSnippet.length){
    //insert html in div
    $.get('/blog-snippet', function(data){
        ctaSnippet.html(data);
    });
}

到目前为止,一切正常。表单按预期加载到页面中。问题是当我尝试提交表单时。表单提交的JS逻辑位于外部加载的public.js文件中。基本上,表单应该通过ajax发布并返回一个json响应。但由于某种原因,它忽略了public.js中的JS并正常提交(被重定向到action属性中的位置)。如果我使用JQuery&#39; s .on()附加ajax加载表单的提交事件并将表单提交脚本从public.js复制粘贴到处理函数中,它可以正常工作。问题是,它很乱,不愿意。我想知道的是,有没有办法使用外部javascript提交ajax加载表单,而不必将脚本粘贴到.on处理函数中。

我希望我能正确地解决问题。提前谢谢!

0 个答案:

没有答案