首页 > 解决方案 > Ajax 不是函数电子签名

问题描述

当我尝试单击调用 ajax 的保存按钮时出现问题。为了保存画布的签名。

我正在为该项目使用 laravel 5.5。

在另一个项目 laravel 5.4 上,我使用 ajax<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>有任何问题;

我不知道也许我有 Jquery 的冲突版本。

希望有人可以帮助我。

这是我的页面:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/signature_pad/1.3.6/signature_pad.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script>


    $(function(){
        var canvas = document.getElementById('thecanvas');
        var signaturePad = new SignaturePad(canvas);
        drawSignatureLine();
        $('button.save').click(function(){
            // window.open(signaturePad.toDataURL("image/png"));
            var canvas_img_data = signaturePad.toDataURL("image/png");
            var img_data = canvas_img_data.replace(/^data:image\/(png|jpg);base64,/, "");
            //ajax call to save image inside folder
            $.ajax({
                url: 'save/signature/composition/equipe',
                data: { img_data:img_data },
                type: 'post',
                dataType: 'json',
                success: function (response) {
                    window.location.reload();
                }
            });
        });
        $('button.clear').click(function(){
            signaturePad.clear();
            drawSignatureLine();
        });
        function drawSignatureLine(){
            var context = canvas.getContext('2d');
            context.lineWidth = .5;
            context.strokeStyle = '#333';
            context.beginPath();
            context.moveTo(0, 150);
            context.lineTo(500, 150);
            context.stroke();
        }
    });


</script>

标签: javascriptjqueryajaxlaravel

解决方案


推荐阅读