[英]AJAX request returns entire HTML page instead of just the data I wanted it to echo
我有:
索引.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。
聽起來您在 index.php 中還有其他代碼,然后呢?
如果只希望它打印 ID,請添加exit();
在它回顯 ID 之后的命令,因此在這種情況下不會處理腳本的 rest。 (當然,這是假設 PHP 代碼在文件中 HTML 之前出現。)
Ps 大多數開發人員傾向於將響應 Ajax 請求的 PHP 與處理加載 Z4C4AD1FCA02E7A1AAD74B 頁面的 PHP 分開。 這個
a) 防止您遇到的問題類型,
b) 保持功能干凈、清晰和獨立,使單元測試更容易,並且
c) 邁出了一步,它更像是一個成熟的 API,它只處理數據——如果有用的話,也可以從其他應用程序、服務或前端調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.