试图通过PHP文件提取信息未定义

时间:2018-05-30 07:15:06

标签: php ajax xmlhttprequest

我试图用XHR请求(AJAX)将信息提取到php文件(这个php文件通过json文件获取信息也带有Get请求)所以当我尝试执行console.log时(Checker) )在控制台上,它返回Undefined,如果我发出警报(Checker),则返回[object Object]。我该如何解决?

PHP:

<?php
headers('Content-Type', 'application/json')
$jsonContents = file_get_contents('../data/data.json');
echo $jsonContents
?>

JS:

function start() {

    $.ajax({
        type: 'GET',
        url: 'api/domain/showall.php',
        dataType: 'json',
        success: function(data) {
            alert(data)
            displayTheData(data)
    }
});
}

function displayTheData(data) {
    Checker = data;
    JSON.stringify(Checker)
    console.log(Checker)
    window.Checker = Checker;
}

JSON:

[{"name":"Google","url":"google.es","id":1}]

3 个答案:

答案 0 :(得分:2)

在这里你是strigify数据但不是存储值i any var。

function displayTheData(data) {
    Checker = data;
    var displayChecker = JSON.stringify(Checker) /// add  displayChecker  
    console.log(displayChecker )    // print it 
    window.Checker = Checker;
}

没有displayTheData()函数,所以首先调用它并传递响应参数。

答案 1 :(得分:1)

你需要回应JSON响应!更改返回$ jsonContents;回显$ jsonContents;它会工作!!!

答案 2 :(得分:0)

你必须将数据解析为正文(不返回在函数之外没有任何意义的数据),并且,无论如何更好,填充一些标题。一种非常简约的方法可能是:

<?php
headers('Content-Type', 'application/json');
$jsonContents = file_get_contents('../data/data.json');
echo $jsonContents // echo JSON string
?>