FastAdmin 在线命令生成时出错的分析

FastAdmin 在线命令生成时出错的分析

出错现象

版本环境

FastAdmin 版本:1.0.0.20180806_beta
在线命令插件版本:1.0.3

分析

2018-08-13 16:12
查看了 command.js 的源码,当点下执行时是通过 Fast.api.ajax 提交到 command/command/action/execute 进行执行的,但是不知道为什么,错误的信息是从 command/command/add 返回的。

            $(document).on('click', ".btn-execute", function () {
                var form = $(this).closest("form");
                var textarea = $("textarea[rel=result]", form);
                textarea.val('');
                Fast.api.ajax({
                    url: "command/command/action/execute",
                    data: form.serialize(),
                }, function (data, ret) {
                    textarea.val(data.result);
                    window.parent.$(".toolbar .btn-refresh").trigger('click');
                    return false;
                }, function () {
                    window.parent.$(".toolbar .btn-refresh").trigger('click');
                });
            });

2018-08-14 08:53
求助无果,晚上再分析了,使用 Chrome 调试,虽然没有调试出什么结果,不过,发现有提交了两次。
然后发现问题所在,type 为 submit 时会提交两次,一次是 ajax,一次是提交到当前方法。

<button type="submit" class="btn btn-success btn-embossed btn-execute">{:__('立即执行')}</button>

解决

TODO

猜你喜欢

转载自www.cnblogs.com/F4NNIU/p/9468901.html