我遇到了在php中解码JSON的问题。我在ajax的帮助下将对象“模型”发送到我的php。
var model = {
username: $nickName.val(),
text: $commentBox.val()
};
var jsonModel = JSON.stringify(model);
$.ajax({
url: 'scripts/store_comment.php',
type: 'POST',
data: jsonModel,
dataType: 'json',
contentType: "application/json; charset=utf-8",
cache: false,
async:false,
success: function() {
console.log("Hooray, it worked!");
},
error: function(e) {
console.log(e);
}
我的问题是当我尝试使用我在php中收到的数据时。
require('connect.php');
$data = $_POST['jsonModel'];
$comment = json_decode($data, true);
$username = $comment['username'];
$text = $comment['text'];
$sql = "INSERT INTO `comments` (username,text) VALUES ('$username', '$text')";
$result = mysqli_query($connection,$sql);
当我检查数据库时,我得到的是两个空字段,这很奇怪,因为当我发送JSOn时检查控制台POST成功,但似乎数据只是空的