我正在尝试将两个变量发送到我的PHP文件以将它们插入数据库。一个变量称为"skuLabel",它只是文本,另一个是"jsonString",它是画布设计的JSON表示。当我只是尝试发送"skuLabel"时,它工作正常并像我期望的那样插入它。但是,当我只发送"jsonString"或两者时,我的PHP错误,当我尝试访问它们时,这两个索引不存在。我已经为此工作了几天,尝试了许多不同的方法,但结果都相同。这是我第一次尝试使用 AJAX,所以我确信我做错了一些简单的错误。我感谢任何人能给予的任何帮助!
这是我的代码:
var skuLabel = document.getElementById('sku').value;
var jsonString = JSON.stringify(canvas.toDatalessJSON());
$.ajax({
type: 'POST',
url: 'uploadDesign.php',
dataType: 'json',
data: {sku: skuLabel, json: jsonString},
success:
function(data){
alert(data);
}
});
和 PHP:
$sku = $_POST['sku'];
$jsonData = $_POST['json'];
if($mysqli->query("INSERT INTO designs (sku, jsonData) VALUES($sku, $jsonData)")===TRUE){
printf("Inserted successfully.'n");
}
if($stmt = $mysqli->prepare("INSERT INTO designs (sku, jsonData) VALUES(?, ?)")){
$stmt->bind_param('ss', $sku, $jsonData);
$stmt->execute();
$stmt->close();
}
这修复了它。谢谢,昆汀!