【发布时间】:2021-02-16 20:25:24
【问题描述】:
我有:
索引.php
<?php
if(isset($_POST["id"])){
echo($_POST["id"]);
}
?>
JavaScript:
let xhttp = new XMLHttpRequest();
xhttp.open("POST", "index.php", true);
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded')
xhttp.onreadystatechange = function (){
if(xhttp.readyState == 4 && xhttp.status == 200)
{
let result = xhttp.responseText;
console.log(result)
}
}
xhttp.send("id=195");
但是控制台会打印 php 页面的整个 HTML 代码。我认为它应该只打印 ID。
【问题讨论】:
-
执行 JavaScript 时应该在控制台中。它不会出现在网页本身上,因为它不是通过 AJAX 运行的。
-
对您来说唯一的问题似乎是从您的 Ajax 请求中读取响应。 console.log 打印到浏览器的控制台,而不是页面本身。您了解如何打开浏览器的控制台吗?在大多数浏览器中按 F12。或者,将其更改为
alert(result)以在弹出窗口中查看。如果您想将响应放回您的页面,然后使用 DOM 函数将其添加到相关位置(我们无法更具体,因为我们不知道您要放置它的位置? -
我希望单击按钮向 php 页面发送 post/get 请求,其中包含要删除的 SQL 的 ID 列表。所以post/get必须由php处理?我知道如何打开控制台。
-
@vytasK 您的代码应该已经这样做了。它应该发送 ID,然后回显它。您是说运行此代码时控制台不打印任何内容吗?还是有其他错误?您是否检查过浏览器的网络工具以确保 Ajax 请求确实启动并返回?根据您显示的内容,此代码应该可以工作。现在有点不清楚您的具体问题是什么。
-
@LucasHenrique 据我们所知,OP 没有使用 jQuery,所以这可能会导致更多的混乱而不是帮助。现在不是引入全新库的时候(反正他们不需要,只是为了发出 AJAX 请求)
标签: javascript php ajax