嗨,我正在寻找一些帮助。我正在使用Thomas J Bradley的Signature Pad。我想要做的是将签名的输出存储到数据库中,然后在需要时调用它。如何将PHP数组转换为Javascript
步骤1
存储输出信息到数据库中。 (完成)
Save_sign.php
<?php
include 'info.php';
$con=mysqli_connect($host,$username,$password,$db_name);
$sign_data = $_REQUEST['output'];
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO sign (data)
VALUES
('$sign_data')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
注:存储在数据库中的信息是一个数组。
example: [{"lx":80,"ly":41,"mx":80,"my":40},{"lx":80,"ly":40,"mx":80,"my":41}...]
步骤2
调用从数据库中的数据,并将其传递给我的AJAX命令(btnGet)。我遇到的问题是,该领域内的数据,检索时变成一个数组,我需要传递给我的再生功能:
$('.sigReturn').signaturePad(ReadOnly).regenerate(data);
PHP不允许我返回数组,继承人什么即时通讯目前正在使用:
return_sign.php
<?php
include 'info.php';
$con=mysqli_connect($host,$username,$password,$db_name);
$sign_location = $_REQUEST['value'];
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT data FROM sign WHERE SignID='$sign_location'");
while($row = mysqli_fetch_array($result))
{
echo stripslashes(implode("", $row)); //i know that the implode turns it to string, was the only way i could get the data to my ajax command.
}
mysqli_close($con);
?>
因此,如何将我的数据传递给我的AJAX命令,避免从PHP数组字符串转换错误?
感谢
从什么时候PHP不知道如何沟通(或者更确切地说, '翻译')?如果您要使用JSON与您的前端进行通信,请使用json_encode()和json_decode()。注意一些UTF-8翻译问题,但大多数请求不会有问题。 –
我没有使用JSON,你能否详细说明一下? – Aero204
您应该回显数组的json_encode并将其解析到您的js中 – rakeshjain