簡體   English   中英

json_encode用html打印數據

[英]json_encode prints data in html

我正在嘗試使用成功完成的Ajax( json_encode )將數據庫表從PHP(使用面向對象的方法)傳遞給Javascript。 但是,問題在於$ data變量中的值會在我的body標簽中顯示,並帶有巨大的空格。

服務器端:

<?php
require_once "Database.php";
Class Product extends Database
{  
    public function getAllProducts(){
    $sql = $this->connectDB()->query("SELECT * FROM product");

    while($row = $sql->fetch()) {
            $data[] = $row;
    }
    echo json_encode($data);        
}
}

$p = new Product();
$p->getAllProducts();
?>

客戶端:

$(function() {
    getProductData();
});

function getProductData(){
    $.ajax({
        url: "Product.php",
        type: "get",
        dataType: "json",
        success: successAjax,
        error: errorAjax,
        complete: function(xhr, status) {
            console.log(xhr);
            console.log(status);
        }
    });
}
function successAjax($jsonarray){
    console.log($jsonarray);
}

輸出(請注意,不會輸出body標簽):

<body>
    "[{"id":"1","0":"1","name":"john","1":"john"}, 
     {"id":"2","0":"2","name":"bob","1":"bob"}]"
</body>

如果我要做的就是將其從PHP傳遞到javascript,是否有任何方法可以防止echo json_encode在HTML中打印數據?

嘗試在product.php上首先發送json http標頭

header('Content-Type: application/json');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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