javascript - 接受 HTTP 请求的问题
问题描述
我认为我的问题并不新鲜,如果已经问过这个问题,我很抱歉,但我找不到与我的问题类似的问题。我想将 XMLHttpRequest 从 html 文件发送到外部 php 文件。在这个 php 文件中有一个 HTTP_accept,这将返回一个带有 json_encode 的数组,以便我可以将数组返回到 html 文件。
我认为我的问题在于document.getElementById("date").innerHTML = event.target.response.date;
if 语句HTTP_Accept
总是错误的,因此我无法访问它。
我的 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% 的时间里为自己找到答案。
推荐阅读
- angular - 为 ag 网格中的行数据创建动态类型
- visual-studio - VS2019 无法在 WSL2 中调试 .net 核心
- php - 护照授权不授权用户在 Laravel 8
- vector-graphics - 矢量图形格式文档
- python - 有没有办法通过字符串加载torchvision模型?
- mysql - 为什么当从表中复制粘贴值时,phpMyAdmin 中的 SELECT 查询起作用,而我自己键入值时却不起作用
- python - 如何使 django 模型的“返回”以全局变量的值为条件?
- google-apps-script - 例外:mediaData 参数仅支持 Blob 类型进行上传
- java - 为什么我只获得 1 小时的刷新令牌?
- c - 是否有一个选项或命令可用于禁用/卸载/或停止 linux 中的 tcp/IP 堆栈。需要它在服务器应用程序中实现用户空间 tcp