Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery-Laravel中获取模型jSignature属性_Jquery_Laravel - Fatal编程技术网

在jQuery-Laravel中获取模型jSignature属性

在jQuery-Laravel中获取模型jSignature属性,jquery,laravel,Jquery,Laravel,我想在jQuery中获得模型(Offer)签名,如果我只提醒模型,它就可以正常工作 alert( JSON.stringify(<?php echo $offer; ?>) ); 但在该页面上,只有dataurl是像这样的基于图像的30时,它才起作用 alert( JSON.stringify(<?php echo $offer->signature; ?>) ); image/jsignature;base30,6RZ766635465363753666342

我想在jQuery中获得模型(Offer)签名,如果我只提醒模型,它就可以正常工作

alert( JSON.stringify(<?php echo $offer; ?>) );
但在该页面上,只有dataurl是像这样的基于图像的30时,它才起作用

alert( JSON.stringify(<?php echo $offer->signature; ?>) );
image/jsignature;base30,6RZ76663546536375366634210000Y2233424546656697536345453331Z734333321210Y14234653675991K53463542331215333666643333323132121_2u030120310212312333345456763353331231000000Z2213233342340Y233323343665432331210200Z91233343336545Y1323100Z232342436534654
但是我有一个svg类型。也许如果我把它改成base30它会工作?? 如果有人有更多的经验,请帮助

更新 我终于解决了这个问题

我必须更改签名中的getData:

data:image/svg+xml,<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="273" height="111"><path stroke-linejoin="round" stroke-linecap="round" stroke-width="3" stroke="rgb(51, 51, 51)" fill="none" d="M 148 1 c -0.31 0 -13.32 -0.67 -18 0 c -1.1 0.16 -1.9 2.84 -3 3 c -4.68 0.67 -12.04 -0.25 -18 0 c -2.02 0.08 -4.15 0.45 -6 1 c -1.36 0.41 -2.7 1.71 -4 2 c -1.46 0.32 -3.39 -0.27 -5 0 c -6.26 1.04 -12.71 3.16 -19 4 c -3.56 0.48 -7.58 -0.51 -11 0 c -2.95 0.44 -6.07 2.45 -9 3 c -2.16 0.41 -5.05 -0.39 -7 0 c -1.01 0.2 -1.96 1.82 -3 2 c -4.04 0.71 -9.96 0.29 -14 1 c -1.04 0.18 -1.93 1.6 -3 2 c -4.05 1.52 -9.49 1.9 -13 4 c -4.2 2.52 -8.28 7.28 -12 11 c -0.82 0.82 -1.86 1.98 -2 3 c -0.45 3.38 -1 9.01 0 12 c 0.7 2.11 3.78 4.52 6 6 c 3.51 2.34 8.2 4.73 12 6 c 1.7 0.57 4.15 -0.37 6 0 c 2.92 0.58 5.99 2.43 9 3 c 3.83 0.73 8.36 0.32 12 1 c 1.35 0.25 2.65 1.75 4 2 c 3.64 0.68 8.24 0.34 12 1 c 1.68 0.3 3.34 1.95 5 2 c 18.45 0.57 40.82 1.84 60 0 c 11.24 -1.08 22.67 -6.64 34 -9 c 4.52 -0.94 9.96 -0.29 14 -1 c 1.04 -0.18 1.96 -1.85 3 -2 c 5.19 -0.74 12.56 -0.26 18 -1 c 1.35 -0.18 2.65 -1.83 4 -2 c 6.04 -0.75 19.69 -1.16 20 -1 c 0.28 0.14 -12.46 0.99 -18 2 c -1.37 0.25 -2.65 1.85 -4 2 c -6.94 0.77 -15.58 0.26 -23 1 c -2.35 0.23 -4.65 1.71 -7 2 c -5.5 0.69 -11.86 0.27 -17 1 c -1.35 0.19 -2.65 1.73 -4 2 c -3.34 0.67 -7.49 0.3 -11 1 c -3.02 0.6 -6.08 2.42 -9 3 c -1.85 0.37 -4.33 -0.37 -6 0 c -1 0.22 -1.96 1.74 -3 2 c -2.61 0.65 -6.21 0.3 -9 1 c -2.34 0.59 -4.75 2.44 -7 3 c -1.48 0.37 -3.53 -0.43 -5 0 c -3.82 1.12 -8.25 3.13 -12 5 c -1.44 0.72 -2.9 1.9 -4 3 c -0.8 0.8 -1.78 2 -2 3 c -0.37 1.67 -0.48 4.4 0 6 c 0.4 1.33 1.85 2.85 3 4 c 1.79 1.79 3.85 3.92 6 5 c 3.49 1.74 8.24 2.5 12 4 c 1.07 0.43 1.96 1.85 3 2 c 5.19 0.74 12.81 0.26 18 1 c 1.04 0.15 1.96 1.79 3 2 c 3.47 0.69 7.9 0.94 12 1 c 18.4 0.28 35.91 0.52 54 0 c 5.07 -0.15 10.13 -0.98 15 -2 c 3.05 -0.64 6.08 -2.42 9 -3 c 1.85 -0.37 4.33 0.37 6 0 c 1 -0.22 1.92 -1.59 3 -2 c 5.68 -2.16 12 -4.45 18 -6 c 2.86 -0.74 6.19 -0.18 9 -1 l 22 -8"/></svg>
$("#canvas").jSignature("getData", "svg");
对此

$("#canvas").jSignature("getData");
现在我得到了base64 png图像,可以加载到简单的标签中

我有这个jQuery代码来从DB获得签名

@if (isset($offer->signature))
    $("#canvas").jSignature("importData", "{{$offer->signature}}");
@endif

我已经解决了加载base30 compressor.js库所需的所有问题,现在我可以将签名保存到DB中,它不会太大,然后再次加载以进行编辑。

如果属性是字符串或数字,请尝试以下操作:

alert("<?php echo $offer->signature; ?>");

另外,用PHP创建JS是个坏主意,你应该避免它。

$offer->signature的价值是什么

如果是字符串,则必须像Alexey Menezin所说的那样使用引号

警报(JSON.strigify(“”)

因此,输出将是:

alert(JSON.stringify(“某些字符串”)

要么javascript将类似于:

alert(JSON.stringify(一些字符串))


然后将抛出一个错误

您是否有更多的ideasIt用于其他属性,但不用于此签名。它实际上是一个svg图像,所以它很长。但我明天会检查它的base64图像?对不起,我想我在这里帮不了你。正如我在回答中所说,我的代码将只处理字符串、数字等。
alert("<?php echo $offer->signature; ?>");
alert("{!! echo $offer->signature !!}");