簡體   English   中英

AJAX 請求返回整個 HTML 頁面,而不僅僅是我希望它回顯的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM