我试图将base64图像字符串插入到我的数据库中,我现在已经搞乱了几个小时,尝试了各种不同的方法,出于某种原因我似乎无法将数据发布到我的PHP脚本。
app.js
saveButton.addEventListener("click", function (event) {
if (signaturePad.isEmpty()) {
alert("Please provide signature first.");
} else {
var basevalue = signaturePad.toDataURL();
$.ajax({
type: "POST",
url: "insert.php",
data: { basevle: basevalue }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
});
insert.php
basevalue = $_POST['basevle'];
try {
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("INSERT INTO signatures VALUES (0,:sigbase)");
$stmt->bindParam(':sigbase', $signature);
$signature = $basevalue);
$stmt->execute();
echo "added";
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
我知道php文件没有任何问题,因为我测试了它并且它正在插入值,它似乎是app.js没有发送帖子数据
有人对可能导致问题的原因有任何疑问吗?
答案 0 :(得分:0)
这个PHP文件无法正常工作。
首先,您必须使用baseValue
作为前缀声明$
变量。
其次,您甚至在声明之前使用$signature
变量。您在>>使用它之后声明并将$baseValue
值传递给它,这将永远无法发挥作用。
在调用$signature = $baseValue;
方法之前,您必须先设置行bindParam
。