javascript - json_encode 在 html 中打印数据
问题描述
我正在尝试使用 Ajax () 将数据库表从 PHP(使用面向对象的方法)传递到 Javascript 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>
"[{"id":"1","0":"1","name":"john","1":"john"},
{"id":"2","0":"2","name":"bob","1":"bob"}]"
</body>
json_encode
如果我只想将它从 PHP 传递给 javascript,有什么方法可以防止 echo在 HTML 中打印数据?
解决方案
尝试在 product.php 上首先发送 json http 标头
header('Content-Type: application/json');
推荐阅读
- reactjs - 在 reactjs 中使用 axios 发送 POST 请求的问题
- xamarin - 如何从另一个命名空间调用方法并传递数据
- angular - 传单地图无法在 mdb 的步进器中正确呈现
- titanium - Alloy , nl.fokkezb.loading 在显示功能上给出错误。我需要升级一些旧的 apk,当我重建旧代码时遇到这个问题
- angular - 我需要在 Angular 的 State 下拉值中有一个空格和逗号
- python - 如何在 Pygame 中将一堆 png 添加到一类卡片中?
- javascript - 如何从 JSON 对象访问数据?
- python - 如何用逗号分割字典的值?
- python - 注释掉包含注释的python代码
- reactjs - 在 Storybook 中制作故事时是否需要在 Template.bind({}) 中包含 {}