javascript - Laravel 站点不在外部 javascript 文件中使用 Ajax

标签 javascript php jquery ajax laravel-5

我试图让我的网站使用另一个文件中的 Ajax,但它永远不会工作,除非代码实际上在 View 中。

该网站成功调用了我的其他 Javascript 文件,但似乎无法识别其中包含 Ajax 的文件。

以下内容位于我的外部 Javascript 文件中,其中包含 Ajax (ajax.js):

$(document).ready(function(){

    $("#idForm").submit(function(e) {
        $.ajax({
            type: "POST",
            url: "{{ url('/auth/login') }}",
            data: $("#idForm").serialize(),
            success: function(data)
            {
              location.reload(); 
            }
        });

        e.preventDefault(); // avoid to execute the actual submit of the form.
    });

});

以下内容位于我的主布局文件中,该文件成功使用了 form.js 文件,但没有使用 ajax.js 。

<html>
<body>

<!--Other Stuff-->

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="http://localhost/sitename/public/js/forms.js"></script>
<script type="text/javascript" src="http://localhost/sitename/public/js/ajax.js"></script>

</body>
</html>

有什么想法吗?

最佳答案

默认情况下,外部js文件不支持blade语法。因此,要从外部js文件发送ajax请求需要执行以下操作:

  1. 为您的 template.blade.php 文件创建一个全局变量,如下所示:

    var SITE_URL = "{{URL::to('/')}}";
  2. 那么什么时候发送ajax请求:

    $.ajax({ 网址:SITE_URL + '/route_name' });

关于javascript - Laravel 站点不在外部 javascript 文件中使用 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137821/

相关文章:

javascript - jsfiddle如何标记代码?有图书馆吗?

javascript - IE 的 Object.defineProperty

javascript - 处理多个上传文件

JavaScript 对象数组分解为 PHP 数组

JavaScript/jQuery getSelection 高亮合并span html元素

javascript - 将事件类添加到菜单

javascript - 使用javascript对二维数组进行排序

PHP & DDD : How to ensure that only a Service can call a method on an entity?

javascript - 使用 Javascript/D3JS/JQuery 永久更改 CSS 属性

javascript - 单击此元素后,在另一元素之后插入指令模板