0

我正在尝试使用 jquery(ajax) 将 jsignature 保存到数据库。当我在浏览器中对包含进行控制台时,它会向我显示此错误:

未捕获的 RangeError:

数组(2)

0:“图像/png;base64”

1:“iVBORw0KGgoAAAANSUh........”

长度:2

超出最大调用堆栈大小

at Fb (jquery-2.2.0.min.js:4)
at Fb (jquery-2.2.0.min.js:4)
at Fb (jquery-2.2.0.min.js:4)

我的代码:

    <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jSignature/2.1.3/jSignature.min.js" integrity="sha512-lZ7GJNAmaXw7L4bCR5ZgLFu12zSkuxHZGPJdIoAqP6lG+4eoSvwbmKvkyfauz8QyyzHGUGVHyoq/W+3gFHCLjA==" crossorigin="anonymous"></script>


    <div id="signature" style="width:500;height:400;border:1px solid black">
    </div>

    <button type='button' id='save'>Save signature</button>
    <input id='diagrama_venosa' type='hidden' >

var $sigdiv = $("#signature").jSignature({
    'background-color': 'transparent',
    'decor-color': 'transparent',
    'color':pen,
    'width': 500,
    'height': 400
    });

    $('#save').on('click', function(event) {
    event.preventDefault();
    var signimage = $sigdiv.jSignature('getData', 'image');
    console.log(signimage);
    var diagrama_venosa=$('#diagrama_venosa').val(signimage[1]);
    $.ajax({
    type: "POST",
    url: "<?=base_url('saveController/saveSignature')?>",
    data: {diagrama_venosa:diagrama_venosa},
    success:function(data){

    },

    });

    });

似乎包含太大,我该如何解决这个问题?

4

1 回答 1

0
$('#save').on('click', function(event) {
event.preventDefault();
 $('#diagrama_venosa').val(signimage[1]);
  //just add this
var diagrama_venosa =$("#diagrama_venosa").val();
$.ajax({
type: "POST",
url: "<?=base_url('saveController/saveSignature')?>",
data: {diagrama_venosa:diagrama_venosa},
success:function(data){

},

});

});
于 2021-04-19T20:06:10.887 回答