嗨,我正在尋找一些幫助。我正在使用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