我认为我的问题不是新问题,很抱歉,如果已经提出这个问题,但找不到与我的问题类似的东西。 我想将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>
答案 0 :(得分:1)
getElementById正在寻找html元素。您将$ data作为php变量。这些东西不能一起工作。
据我了解,通过为您编码过程的每一步设计测试,我现在可以获得更好的结果。如果对每个代码块进行测试,并且每个块仅编写一个函数,则可以练习任何单元测试范例。将疑难解答视为对每行代码进行测试设计的过程,可以帮助我90%的时间自己找到答案。