php怎么获取ajax提交的json数据

                $.ajax({
                    url: 'ajax.php',
                    type: 'POST',
                    data: {'data': 'hello'},
                })
                .done(function() {
                    console.log("success");
                })
                .fail(function() {
                    console.log("error");
                })
                .always(function() {
                    console.log("complete");
                });

PHP文件

<?php 
    $a=$_POST['data'];
    echo $a;
 ?>

对PHP不熟,这样写却报错了,求解释,Notice: Undefined index: data in D:\WorkSpace\demo\php\ajax.php on line 2

阅读 9.4k
8 个回答
data: {'data': 'hello'},
去除字段名称的单引号
data: {data: 'hello'},

1.确认下php和你写ajax是否为同一目录。

是:如果是同一文件,使用isset对POST过来的data检测之后再进行打印。
否:请在同一文件夹进行访问操作

先打印下 var_dump( $_POST ); 然后确定是否在一个目录下

data去掉单引号

新手上路,请多包涵

data 没有引号

遇到这种问题应该先审查元素看看网络请求,然后再看PHP部分

加上dataType,指定为json数据类型

$.ajax({
          url: 'ajax.php',
          type: 'POST',
          data: {data: 'hello'},
          dataType:'json'
    })

$.ajax({

url: 'ajax.php',
type: 'POST',
data: {data: 'hello'}

})

data去掉单引号

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题