我有一个ajax代码,它将数据传递给php,然后从php中检索数据......
function updateDatabase(syncData){
$.ajax({
type : 'POST',
async: false,
url : 'php/syncData.php',
dataType : 'json',
data: {myData : syncData}, //i even used this "mydata"+syncData
success : function(result){
res = result;
},
error : function() {
res = false;
}
});
return res;
}
这是我的PHP代码......
<?php
include("database.php");
if(isset($_GET['myData'])){
$data = $_GET['myData'];
$insert = "INSERT INTO `mydata` VALUES (NULL,'$data')";
mysql_query($insert);
$data = mysql_insert_id();
echo json_encode($data);
}
?>
这是传递/调用ajax的javascript函数...
<script>
var theData = "blahblah";
var alertData = updateDatabase(theData);
alert(alertData);
</script>
问题在于,当我使用htmt / text作为数据类型时,它会警告空/空输出,但是当我使用json作为数据类型时,它会警告false我在哪里得出错误函数不成功...任何人都知道这样做的正确方法是什么?或者我可能只是错过了一些东西?谢谢!
答案 0 :(得分:4)
嗯,你是使用jQuery发布数据,但是你在PHP中寻找$_GET
值。修复它,看它是否有任何改变。
修改:它应如下所示:
...
if(isset($_POST['myData'])){
$data = $_POST['myData'];
...
答案 1 :(得分:0)
尝试在PHP文件中设置内容类型:
header( 'Content-Type: application/json' );
然后回复你的数据:
echo json_encode( $data );
然后退出脚本:
exit;
希望它有所帮助!