读取json并将内容放入div

时间:2011-04-04 14:02:32

标签: jquery json

我需要像这样阅读json:

{"error_message":"Only post requests are allowed","reservations":null,"error_code":1}

并将结果放入3个不同的div中。我正在看这段代码Best way to display data via JSON using jQuery更改json链接并链接jquery的外部资源,但我无法找到问题所在。感谢

这是我的实际代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(document).ready(function(){
    $.getJSON("./reservations.json",function(data){
        $.each(data, function(i,post){
            content += '<h3>' + error_message + '</h3>';
            $(content).appendTo("#error_message");
        });
    });  
});

</script>
</head>
<body>
    <div class="container">
        <div id="error_message"></div>
        <div id="reservations"></div>
        <div id="error_code"></div>
    </div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

content += '<h3>' + error_message + '</h3>';

contenterror_message都未在任何地方定义,因此此行不起作用。

尝试使用:

var content = '<h3>' + post.error_message + '</h3>';

此外,如果JSON与问题中显示的完全相同,则不需要$.each

var content = '<h3>' + data.error_message + '</h3>';
$(content).appendTo("#error_message");

答案 1 :(得分:0)

提供您的JSON存储在变量中:

var json = {"error_message":"Only post requests are allowed","reservations":null,"error_code":1};

假设你的3 div

<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>

如果您想将错误消息放入div s中的每一个:

$('#div1, #div2, #div3').text(json.error_message);