Php Ajax返回html而不是JSON

Php Ajax返回html而不是JSON,php,jquery,html,json,Php,Jquery,Html,Json,嗯,我知道这看起来像一个初学者的问题,我真的希望我错过了一些简单的东西,但我似乎找不到什么 我试图找回JSON类型,但我只得到html代码作为回报 这是我的代码,我不是一个真正的初学者,但我远远不是一个专业人士,所以我尝试了一些测试。如果我输入数据类型,它会抛出一个错误,即使现在我的代码如下所示: $("#search_ref").click(function(){ var ref_article = $("#ref_article").val(); $("#search_but

嗯,我知道这看起来像一个初学者的问题,我真的希望我错过了一些简单的东西,但我似乎找不到什么

我试图找回JSON类型,但我只得到html代码作为回报

这是我的代码,我不是一个真正的初学者,但我远远不是一个专业人士,所以我尝试了一些测试。如果我输入数据类型,它会抛出一个错误,即使现在我的代码如下所示:

$("#search_ref").click(function(){
    var ref_article = $("#ref_article").val();
    $("#search_buttons").append('<button id="new_search" type="button" class="btn btn-warning"><span class="glyphicon glyphicon-search"></span> Nouvelle recherche</button>');
    $("#search_ref").remove();
    $(".construct_delete").remove();
    nb_elements = 1;
    size = 20;
    $.ajax({
        url : 'search_ref.php',
        type : 'POST',
        data : 'ref_article=' + ref_article,
        success : function(response){
            alert(response);
            console.log(response);
            var table_construct = JSON.parse(response);
            alert(table_construct);
        },
        error : function(){
            alert("Error durant \"search_ref\"");
        }
    });
})
$(“#搜索_参考”)。单击(函数(){
var ref_article=$(“#ref_article”).val();
$(“#搜索按钮”).append('Nouvelle recherche');
$(“#search_ref”).remove();
$(“.construct_delete”).remove();
nb_元素=1;
尺寸=20;
$.ajax({
url:“search_ref.php”,
键入:“POST”,
数据:'ref_article='+ref_article,
成功:功能(响应){
警报(响应);
控制台日志(响应);
var table_construct=JSON.parse(响应);
警报(表2);
},
错误:函数(){
警报(“错误durant\'search\u ref\”);
}
});
})
另一部分:

<? 

$banane = [1, 2, 3, 4 ];
$banane = json_encode($banane);
echo $banane;

?>

这不是我的最终代码,但我不明白为什么这不起作用,我如何强制JSON数据而不是html

下面是我尝试的:dataType:JSON,将第二个php页面doctype设置为JSON

警报信息如下:


(!)分析错误:语法错误,C:\wamp64\www\StageNeyret\search\u ref.php第5行出现意外的“$banane”(T_变量)

你说的“我得到html代码作为回报”是什么意思?响应是什么样子的?您展示的php代码应该构造有效的json并返回它。如果不是,那么您就在“这不是我的最终代码”中遗漏了一些重要的内容。@Taplar这是我正在测试的代码,现在只需要将
dataType:'json',
添加到ajax选项中。您在浏览器开发人员网络选项卡中看到的“原始响应数据”中具体收到了什么?“警报消息如下”。。。因此,您的服务器甚至没有将php文件解析为php。这就是问题所在。也许你忘了