Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ajax从php检索数据_Php_Mysql_Json_Jquery - Fatal编程技术网

使用ajax从php检索数据

使用ajax从php检索数据,php,mysql,json,jquery,Php,Mysql,Json,Jquery,我有一个ajax代码,它将数据传递到php,然后从php检索数据 function updateDatabase(syncData){ $.ajax({ type : 'POST', async: false, url : 'php/syncData.php', dataType : 'json', data: {myData : syncData}, //i even

我有一个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,我得出结论,它进入了错误函数,但没有成功。。。有人知道这样做的正确方法吗?或者我只是错过了什么?谢谢

好的,您使用jQuery发布数据,但是您在PHP中寻找$\u GET值。把它修好,看看有没有什么变化

编辑:它应该如下所示:

...
    if(isset($_POST['myData'])){
        $data = $_POST['myData'];
...

好的,您使用jQuery发布数据,但是您在PHP中寻找$\u GET值。把它修好,看看有没有什么变化

编辑:它应该如下所示:

...
    if(isset($_POST['myData'])){
        $data = $_POST['myData'];
...

尝试在PHP文件中设置内容类型:

header( 'Content-Type: application/json' );
然后回显您的数据:

echo json_encode( $data );
然后退出脚本:

exit;

希望有帮助

尝试在PHP文件中设置内容类型:

header( 'Content-Type: application/json' );
然后回显您的数据:

echo json_encode( $data );
然后退出脚本:

exit;

希望有帮助

您看过使用firebug的ajax响应了吗?您看过使用firebug的ajax响应了吗?