Я пытаюсь передать таблицу базы данных из PHP (используя объектно-ориентированный подход) в Javascript, используя Ajax (json_encode
), что я успешно сделал. Проблема, однако, заключается в том, что значения, которые находятся внутри переменной $ 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>
Можно ли как-нибудь запретить эхо json_encode
печатать данные в HTML, если все, что я хочу сделать, это передать их из PHP в javascript?