0

如果我想将此 json 测试插入我的 phonegap 页面(其中包含 jquery mobile),我会遇到问题:

var JSONObject = {  "name" : "Amit",
                 "address"  : "B-123 Bangalow",
                 "age"  : 23, 
                 "phone"   : "011-4565763",
                 "MobileNo"  : 0981100092
             };

             document.write("<h2><font color='blue'>Name</font>::"
                            +JSONObject.name+"</h2>");  
             document.write("<h2><font color='blue'>Address</font>::"
                            +JSONObject.address+"</h2>");  
             document.write("<h2><font color='blue'>Age</font>::"
                            +JSONObject.age+"</h2>");  
             document.write("<h2><font color='blue'>Phone No.</font>::"
                            +JSONObject.phone+"</h2>");  
             document.write("<h2><font color='blue'>Mobile No.</font>::"
                            +JSONObject.MobileNo+"</h2>");

然后它不起作用..我的问题是,phonegap + jquery mobile实际上可以使用JSON吗?

将来我想要一个以 JSON 格式返回数据的 web 服务,以便我可以在我的 phonegap 应用程序中使用这个 json 数据。我现在正在测试 json 数据是否有效,通过使用硬编码数据。

4

1 回答 1

1

页面加载完成后可能会调用此代码。

所以使用 document.write 没有任何意义。

只需使用html函数来填充您要填充的内容(可能是 div)。

请注意,您必须等待 DOM 完全加载。最佳实践是使用 onload 事件处理程序并将脚本元素放在正文的末尾。

<div id=idOfTheDivWhereYouWantToWrite></div>
<script>
$(document).ready(function() {
    var JSONObject = {  "name" : "Amit",
             "address"  : "B-123 Bangalow",
             "age"  : 23, 
             "phone"   : "011-4565763",
             "MobileNo"  : 0981100092
    };
    var html= "<h2><font color='blue'>Name</font>::"+JSONObject.name+"</h2>" 
    html += "<h2><font color='blue'>Address</font>::" +JSONObject.address+"</h2>";  
    html += "<h2><font color='blue'>Age</font>::" +JSONObject.age+"</h2>";  
    html += "<h2><font color='blue'>Phone No.</font>::"+JSONObject.phone+"</h2>";  
    html += "<h2><font color='blue'>Mobile No.</font>::"+JSONObject.MobileNo+"</h2>";
    $('#idOfTheDivWhereYouWantToWrite').html(html);
});
</script>

此外,“JSON 对象”的意义不大,因为 JSON 是一种交换格式。这只是一个普通的 javascript 对象。

于 2012-07-20T07:47:47.633 回答