如何通过URL从php文件接收回显数据?

时间:2019-07-04 12:27:46

标签: javascript php json

我正在尝试使一些基本的Javascript和PHP能够应对参与的编码挑战,并且我需要从PHP文件中接收一个JSON对象,以便在我的Javascript中使用它在HTML上显示当前日期页。我尝试了几种不同的方法,但似乎无法使用,在这里我缺少什么吗?

我尝试使用jQuery getJSON以及在与Javascript相同的HTML文件中运行PHP。

这是PHP文件及其输出:

echo json_encode([
    "date" => getthedate()
]);

function getthedate() {

    return date("Y/m/d");

}
{"date":"2019\/07\/04"}

这是我最近在Javascript中尝试过的内容:

function getDate() {

    var theDate = $.getJSON(
        "http://localhost/coding-challenge/get-date.php", 
        function(data)
    );

    JSON.parse(theDate);
    document.getElementsByClassName("date")[0].innerHTML = theDate;

}

我希望这个Javascript能够检索PHP文件所回显的JSON对象,然后将其显示在HTML文件的“ date”类中(一个空的段落)。但是,这只会导致日期段落所在的空白处。

2 个答案:

答案 0 :(得分:1)

$.getJSON是异步的,因此应在其成功回调中设置数据:

function getDate() {
  $.getJSON("http://localhost/coding-challenge/get-date.php", data => {
    document.getElementsByClassName("date")[0].innerHTML = data;
  });
}

答案 1 :(得分:0)

尝试为JSON发送正确的HTTP响应标头。然后jQuery将为您解析响应。

header('Content-Type: application/json');

echo json_encode([
    'date' => getthedate()
]);

function getthedate() {
    return date("Y/m/d");
}

JS

$.getJSON("http://localhost/coding-challenge/get-date.php", function( data ) {
    console.log(data);
    alert(data.date);
});