首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sweetalert单击‘OK’后重新加载页面

使用Sweetalert单击‘OK’后重新加载页面
EN

Stack Overflow用户
提问于 2019-01-20 23:07:22
回答 1查看 2.3K关注 0票数 0

在出现成功消息后尝试重新加载页面,但未重新加载。

我有这个代码

代码语言:javascript
复制
$.ajax({
  type: "post",
  url: '/action.cfm?method=quote',
  data: datastring,
  success: function(data) {
    var valid = $.trim(data);
    if (valid.toLowerCase().indexOf("error") == '-1') {
      localStorage.setItem("swal", swal({
        title: "Good job!",
        text: 'Thanks',
        type: "success",
        showConfirmButton: true
      }).then(function() {
        location.reload();
      }));
      localStorage.getItem("swal");
    } else {
      swal("Oops", data, "error");
    }
  }
});

但是我在这上面得到了一个错误

代码语言:javascript
复制
(index):389 Uncaught TypeError: Cannot read property 'then' of undefined
    at Object.success ((index):389)
    at fire (jquery-1.12.4.js:3232)
    at Object.fireWith [as resolveWith] (jquery-1.12.4.js:3362)
    at done (jquery-1.12.4.js:9840)
    at XMLHttpRequest.callback (jquery-1.12.4.js:10311)
EN

回答 1

Stack Overflow用户

发布于 2019-01-21 02:19:39

确保你使用的是新版本的type (下面,在jsfiddle中,你可以找到2.1.2) -我收到了关于使用不推荐使用的showConfirmButton和jsfiddle属性的警告。以下是在jsfiddle中工作的略微修改的代码:

代码语言:javascript
复制
$(document).ready(function() {
    $.ajax({
        type: "post",
        url: '/echo/json/',
        data: {},
        success: function(data) {
            var valid = $.trim(data);
            if (valid.toLowerCase().indexOf("error") == '-1') {
                localStorage.setItem("swal", swal({
                    title: "Good job!",
                    text: 'Thanks',
                    icon: "success",
                    button: true
                }).then(function() {
                    console.log('sth');
                    location.reload();
                }));
                localStorage.getItem("swal");
            } else {
                swal("Oops", data, "error");
            }
        }
    });
});

https://jsfiddle.net/wlecki/rwc58h17/

但总的来说,如果你必须将它存储在浏览器的本地存储中,我建议你只在那里存储一个甜蜜警报选项,如果你想要显示一个甜蜜警报,就使用它们:

代码语言:javascript
复制
$(document).ready(function() {
    $.ajax({
            type: "post",
            url: '/echo/json/',
            data: {},
            success: function(data) {
                var valid = $.trim(data);
                if (valid.toLowerCase().indexOf("error") == '-1') {
                    localStorage.setItem("swal", JSON.stringify({
                        title: "Good job!",
                        text: 'Thanks',
                        icon: "success",
                        button: true
                    }));

                    swal(JSON.parse(localStorage.getItem("swal"))).then(() => location.reload());
            } else {
                swal("Oops", data, "error");
            }
        }
    });
});

https://jsfiddle.net/wlecki/71vzasxh/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54277772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档