我正在'回显'一个json数组回到ajax,但它正在将整个数组打印到屏幕上。我没办法!有人可以看到导致此问题的以下代码有什么问题吗?
我的ajax电话:
theUrl = 'myphpquerypage.php?id=somenumber'
$.getJSON(theUrl, function(data) {
var content = "";
$.each(data, function(index, array) {
content += "<div>" + array.filename + "</div>";
$(content).appendTo('#myContentDivTag');
myphpquerypage.php:
$pdo = new PDO($dsn, $username, $password);
$rows = array();
if(isset($_GET['id'])) {
$stmt = $pdo->prepare("call getimages(?)");
$stmt->execute(array($_GET['id']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
回声导致它直接进入屏幕(#myContentDivTag中没有任何内容):
[{"filename":"img4dc458200caa7.jpg"},{"filename":"img41b65171bd651.jpg"}, {"filename":"img41be6c0eae1a4.jpg"},{"filename":"img41e5d5eede9da.jpg"}, {"filename":"img41e5d64383039.jpg"},{"filename":"img422fb82b3768a.jpg"}, {"filename":"img422fc528cc8d1.jpg"}]
谢谢大家,非常感谢任何帮助。我花了好几个小时尝试不同的事情。显然我正在获取json编码的数组,但我无法正确显示它。
答案 0 :(得分:0)
我想我们在ajax请求中有不同的处理JSON数据的方法,虽然你的错误没有错,但我的工作似乎有效;)
以下是我如何做的一个示例,似乎工作正常:http://jsfiddle.net/5YWpr/3/ (注意,它使用jsfiddle的ajax测试器,所以它发布了要返回的示例json数据,为什么ajax请求看起来很奇怪,如果你只想插入代码,请使用此线程中的那个)。
使用Javascript:
$.ajax("myphpquerypage.php",
{
dataType: "json",
type: "get" /*can also be post*/,
data: {id: "somenumber"},
success: function(data)
{
var content = "";
for (var key in data)
{
content += "<div>" + data[key].filename + "</div>";
}
$("#test").append(content);
}
});
HTML:
before div
<div id="test">
</div>
after div
告诉我它是怎么回事。