【问题标题】:Why Doesn't Ajax and SweetAlert Show?为什么 Ajax 和 SweetAlert 不显示?
【发布时间】:2019-01-02 06:33:14
【问题描述】:

请帮助我,在我的代码中,Ajax 和 SweetAlert 运行良好,但现在我在按下提交时出现错误:

谷歌浏览器控制台显示以下错误:

资源被解释为样式表,但以 MIME 类型传输 应用程序/javascript: “http://localhost:8000/js/jquery-3.3.1.min.js”。

非常感谢任何帮助。

代码

<link rel="stylesheet" type="text/css" href="{!! asset('js/jquery-3.3.1.min.js') !!}">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        var id1 ={!! $data !!};
        var hasil;
        var saldo ={{$results}};

        $('#jumlahUang').keyup(function () {
            var yeah1 = parseInt($('#jumlahUang').val());
            var yeah = parseInt($('#jenisTransaksi').val());
            if (yeah == 1) {
                hasil = saldo + yeah1;
            } else {
                hasil = saldo - yeah1;
            }

            if (hasil < 0) {
                swal("Error", "SALDO ANDA KURANG");
            } else {
                $('#debugg').val(hasil);
            }
        });

        $('#formInput').submit(function (e) {
            e.preventDefault();
            var id1 ={!! $data !!};
            var link = "/nambahTransaksi/" + id1.id;
            swal({
                title: "Konfirmasi transaksi",
                text: "proses transaksi?",
                type: "info",
                showCancelButton: true,
                confirmButtonColor: "#1da1f2",
                confirmButtonText: "Yakin, dong!",
                closeOnConfirm: false,
                showLoaderOnConfirm: true,
            }, function () { //apabila sweet alert d confirm maka akan mengirim data ke simpan.php melalui proses ajax
                $.ajax({
                    url: link,// ini salah anjing
                    type: 'get',
                    data: $('#formInput').serialize(), //serialize() untuk mengambil semua data di dalam form
                    dataType: "HTML",
                    success: function () {
                        setTimeout(function () {
                            swal({
                                title: "transaksi berhasil dilakukan",
                                text: "Terimakasih",
                                type: "success"
                            }, function () {
                                window.location.href = "/detailTransaksi";

                            });
                        }, 2000);
                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        setTimeout(function () {
                            swal("Error", "Tolong cek kembali SALDO anda");
                        }, 2000);
                    }
                });
            });
        });
    })
</script>

【问题讨论】:

  • 从昨天开始你有什么变化?
  • 我没有改变任何东西
  • 我已经阅读了另一个网站的一些答案,但它不起作用
  • @bramastavikana 你可以添加一个console.log 来输出错误和成功回调中的响应吗?如果您的 swal 没有显示某些内容,则此处不正确,并且您现在捕捉错误的能力很差,因此更难确定原因。
  • 我的 swal 正在另一个我认为 ajax 不工作的函数中工作

标签: javascript jquery ajax laravel sweetalert


【解决方案1】:

你必须使用这个 js 文件,我希望它对你有用。

<script src="{{ asset('assets/global/plugins/jquery.min.js') }}" type="text/javascript"></script>

<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

例子

$("#sub").click(function() {

var startDate = $('#fromDate').val();

var endDate = $('#toDate').val();

if (startDate !='')
{
    if(endDate == '')
    {
        swal("Error!", "Please Select To Date field", "error");

        return false;
    }

}
else
{
    swal("Error!", "Please Select From Date field", "error");

    return false;
}

if(startDate > endDate)
{
    //alert("Please Select To Date Grater Than"+startDate);
    swal("Error!", "Please Select To Date Grater Than "+startDate, "error");
    return false;
}  });

【讨论】:

    【解决方案2】:

    您将此行设置为样式表,但它实际上是一个 .js 文件。

    <link rel="stylesheet" type="text/css" href="{!! asset('js/jquery-3.3.1.min.js') !!}">
    

    尝试使用:

    <script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
    

    另外,你为什么要包含 JQuery 两次?只需将您的第二个声明移到顶部,即:

    <script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
    

    它需要在添加 SweetAlert 之前声明,因为 SweetAlert 依赖于它。

    编辑:这只是部分答案。除此之外,OP还有另一个问题。然而,想把它留下来,因为它对解决他的问题的第 1 部分很有用。

    【讨论】:

    猜你喜欢
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2011-07-19
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多