我想使用JSON将数据从php发送到浏览器。我想我理解这个过程 - 请参阅下面的示例代码。但是有人告诉我这不是正确的做法。我已经研究了三天,但由于我的英语很差,我不相信我找到了答案。
我希望的是一个代码示例,它将接收JSON并将其转换为html元素(如div),并通过CSS等方式为其提供样式。
我真的只想要一个如何做到这一点的例子,以便我可以从中学习并根据自己的需要自己扩展它,但我不自信这种方法是正确的,并且不想写更多错误的代码。 / p>
由于
的Javascript
$(document).ready(function() {
$.ajax({
type : 'POST',
url : 'server.php',
dataType:"json",
success : function (data) {
$("#orders").html(JSON.stringify(data));
}
});
});
PHP
<?php
$db = new PDO('mysql:host=localhost;dbname=Contact', 'root', '');
$statement=$db->prepare("SELECT * FROM myfeilds");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_ASSOC);
$json=json_encode($results);
echo $json;
?>
答案 0 :(得分:0)
您无需对响应中返回的数据调用JSON.stringify。此方法用于将javascript对象转换为JSON字符串,但您的PHP代码应该已经通过它的外观发送回JSON字符串。
所以它取决于你返回的JSON的样子,但通常它会是这样的:
{"name":"Mike", "phone":"5551234", ...} etc
所以在你的成功回调中,你会做这样的事情:
$("#name").text(data.name);
$("#phone").text(data.phone);
等等。
请注意,我正在使用.text()方法。您可以使用.html(),但除非您的JSON字符串包含HTML,否则您可能不需要这样做,或者您希望像这样编写HTML:
$("#name").html("<p>" + data.name + "</p>");
至于样式,我会提前设置你的样式,这样你就不必在javascript中这样做,因为这样会更有效。
然而,如果由于某种原因你需要那么你可以做类似的事情:
$("#name").css({"display":block","color": "#000"});
希望有所帮助。