【问题标题】:Trying to extract information throught a PHP file Undefined试图通过 PHP 文件提取信息未定义
【发布时间】:2018-05-30 07:15:05
【问题描述】:

我正在尝试使用 XHR 请求 (AJAX) 将信息提取到 php 文件中(此 php 文件也通过带有 Get 请求的 json 文件获取信息)所以当我尝试执行 console.log(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}]

【问题讨论】:

  • 你在哪里打电话给displayTheData()?我在你给定的源代码中没有看到任何函数调用代码。你必须在 success 中调用它
  • 已编辑,但我返回“未定义”
  • Edited-> 我没有看到任何编辑
  • 是的,它已编辑
  • 而不是 alert(data) 执行 console.log(data); 并查看控制台中是否显示任何输出?我是的,然后告诉我们输出

标签: php ajax xmlhttprequest


【解决方案1】:

在这里,您是对数据进行存储,但不存储任何变量的值。

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

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

【讨论】:

  • 有效!!谢谢你的伙计! @Akilesh Kumar 你是对的
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 但是我想做一个请求,如果我把它放到一个正文中它就不是一个请求
    • 请求是JS端。我说的是 php 响应的主体。
    • 在 HTTP 响应中,您有标头(说明响应类型)和包含有效负载本身的正文。在您的情况下: [{"name":"Google","url":"google.es","id":1}] 可以在您的 JS 脚本的数据变量中访问。
    • 你叫什么PHP体?
    • 我正在尝试调用 PHP 正文
    猜你喜欢
    • 2015-06-09
    • 2013-10-29
    • 2015-06-02
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2013-11-22
    相关资源
    最近更新 更多