Ajax向PHP发送请求,数据类型JSON,返回信息错误,提示200 4

Ajax向PHP发送请求,数据类型JSON,返回信息错误,提示200 4

//页面加载
    $(document).ready(function(){
        $.ajax({
            type: "POST",
            url: "a.php",
            data: "",
            dataType: "json",//就这句,返回值都是JSON,改成text或者直接删除都不报错,但是写JSON就报错
            success: function (result) {
                console.log(result);
            },error : function(XMLHttpRequest, textStatus, errorThrown) {
              alert(XMLHttpRequest.status);
             }
        });
    });    
    //ajax返回语句
    function out_json($code, $msg)
    {
        $json['code'] = $code;
        $json['msg'] = $msg;
        $json = json_encode($json);
        return $json;
    }
    echo out_json(1,"11111");

以上是为了测试使用了最简单的语句,之前的环境是phpstudy,运行这套完全没有问题,但是最近换了宝塔面板,一模一样的语句,突然就无法运行了,Ajax的返回结果是error 200 4 parseerror ,尝试过如果dataType改成text或者删除dataType,返回数据类型依然是JSON,就没有问题,但是这是什么原因呢。
原来的代码页码太多了,返回类型写的都是JSON,还是想找出原因……
输出了一下返回结果,竟然是整个PHP文件的内容,怪不得不是JSON格式,这又是怎么回事

img

dataType为json时你在success里打印一下result看看。

我看你php里用了 $json = json_encode($json); 这个不是转换为字符串吗?datatype写text可以应该也是你加了 $json = json_encode($json)的原因。