Railsアプリケーションを介してデータベースにデジタル署名を保存しようとしています。
署名を JSON 文字列に変換する JavaScript プラグインを使用しています。次に、params から JSON 文字列を取り出し、変数に格納します。ここで、抜き取った JSON 文字列をリバース JavaScript 関数に渡して、署名を再生成したいと考えています。
javascript の変数を直接 JSON 文字列に設定し、それを関数に渡すと、リバース関数は正常に機能します。ただし、変数をJSON文字列を格納するrails変数に割り当てると機能しません。JSON 文字列の値は、どちらの場合もまったく同じです。
最初のケースでは typeof var は obj.obj タイプを正しく表示しますが、2 番目のケースでは文字列として表示します。JSON と Jquery を使用して解析するためのすべてのトリックにうんざりしましたが、機能しません。
私のレールコントローラー:
@recipient_signature = params[:recipient_signature]
JSON 文字列を使用して生成された署名を表示する私のビュー。
var sig = "<%=@recipient_signature%>";
$(document).ready(function() {
$('.sigPad').signaturePad({displayOnly:true}).regenerate(sig);
});
@recipient_signature の値が正しく形成された JSON 文字列であっても、上記のケースは機能しません。
しかし、以下のように同じ JSON 文字列を sig に割り当てると動作します...
var sig = [{"lx":55,"ly":25,"mx":55,"my":24},{"lx":55,"ly":25,"mx":55,"my":25}....'];
この JSON 文字列は @recipient_signature と同じで、<%=@recipient_signature%> correctly.
Javascriptはどういうわけか、最初のケースでは配列として認識せず、2番目のケースでは認識します...どうすれば修正できますか?