我的设置:
我正在使用Laravel和刀片。
</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')
@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处理函数中。
我希望我能正确地解决问题。提前谢谢!