好的,现在我在这里遇到了一个奇怪的问题,有时回来我学会了如何在stackoverflow上正确编码和解码json数组但现在我在我的godaddy服务器上有一个奇怪的问题,我无法理解,也许我可能有在代码的某个地方写了一个错误或者某些东西,但老实说我不知道这里有什么问题。代码在我的本地主机上运行正常,但在我上传它的godaddy服务器时却没有。
这里的代码基本上应该将一个id作为json传递给php服务器,然后该服务器应该使用id作为参数来执行查询。
这是jquery代码:
<script text="text/javascript">
$(document).ready(function() {
$('#download').click(function(e) {
// e.preventDefault();
var tid = $('#id').val().trim();
var data = {
ID:tid
};
$.ajax({
type: "POST",
url: "xxxxx-xxxxxxx.php",
data: {
data: JSON.stringify(data)
},
dataType: "json",
success: function(response) {
}
});
});
});
</script>
这是php代码:
<?php
if (isset($_POST['data']))
{
$Data = $_POST["data"];
$arr = json_decode($Data);
$id = $arr->ID;
$sql = $pdo->prepare("update ********** set ******** = ******** + 1 where id=:id");
$sql->bindValue("id", $id, PDO::PARAM_INT);
$sql->execute();
unset($_POST['data']);
}
?>
现在我检查了是否使用我的浏览器控制台将值发送到服务器了。我还检查了服务器上的$ _POST ['data']是否包含使用var_dump的任何数据,并且它确实拥有我想要的数据。
答案 0 :(得分:0)
将内容类型设置为contentType: "application/json",
这样:
$.ajax({
type: "POST",
url: "xxxxx-xxxxxxx.php",
data: {
data: JSON.stringify(data)
},
contentType: "application/json",
success: function(response) {
}
});
并在php中使用:
$json = file_get_contents('php://input');
$data = json_decode($json);