javascript - 接受 HTTP 请求的问题

标签 javascript php html

我认为我的问题并不新鲜,很抱歉,如果已经有人问过这个问题,但我找不到与我的问题类似的问题。 我想将 XMLHttpRequest 从 html 文件发送到外部 php 文件。在这个 php 文件中有一个 HTTP_accept,它将返回一个带有 json_encode 的数组,这样我就可以将数组加载到 html 文件中。

我认为我的问题出在 document.getElementById("date").innerHTML = event.target.response.date;HTTP_Accept 的 if 语句中始终为假,因此我无法访问它。

我的 javascript 文件:

function loadTodo(){
    let xhr = new XMLHttpRequest();
xhr.addEventListener("load", function (event) {
    document.getElementById("date").innerHTML = event.target.response.date;
});
xhr.responseType="json";
    xhr.open("GET", "http://localhost:8080/todo_js/read.php");
    xhr.setRequestHeader("Accept", "application/json");
    xhr.send();
}

我的 php 文件:

if ($_SERVER['HTTP_ACCEPT'] == 'application/json'):
foreach ($pdo->query($query) as $row) {

    header('Content-Type: application/json');
    $id = $row['id'];
    $title = $row['dotitle'];
    $date = $row['date'];
    $status = $row['status'];
echo json_encode($row, JSON_PRETTY_PRINT | JSON_NUMERIC_CHECK);?> 

和我的 HTML 文件:

<button onClick="loadTodo()">ToDo laden</button>

最佳答案

getElementById 正在寻找一个 html 元素。你有 $data 作为一个 php 变量。这些东西不会一起工作。

此外,据我所知,我现在可以通过为编码过程的每个步骤设计测试来获得更好的结果。如果您对每个代码块进行测试并且每个代码块只编写一个函数,那么您可以练习任何单元测试范例。将故障排除视为为每一行代码设计测试的过程可以帮助我在 90% 的时间里找到自己的答案。

关于javascript - 接受 HTTP 请求的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56572978/

相关文章:

php - 将网站从我的计算机移动到主机或服务器?

javascript - 循环和递归 : the difference in the number of repetitions

javascript - 如何在某些页面中隐藏 Angular layout.html 中的元素

javascript - jQuery Toggle 无法正常工作并且混合了动画

php - 如何按时间范围从观看开始时间和观看持续时间获取观众?

php - 动态mysql连接和数据库

javascript - 警告 : Unexpected block "scripts" Jade

html - 向部分添加边距会破坏三列设计

html - 如何让顶部栏(导航栏)不遮挡图像并随其滚动?

Javascript从坐标数组中的某个坐标找到最远的坐标