【问题标题】:jQuery getJSON responsejQuery getJSON 响应
【发布时间】:2011-12-01 21:46:00
【问题描述】:

我正在创建一个动态 Web 项目,使用 Tomcat,我在 jQuerys getJSON 方法中发送/接收数据时遇到了一些问题。

我拥有的是:

    $('#selectNone').click(function(){

      var method = "getWellList";
       $.getJSON("HandleGet",{Method:method},
          function(data) {        
              $.each(data, function(i, field){
                     $("#dynamicCheck").append(field + " ");

然后它出现在我的 java 中的 doGet 中,然后我创建了一个 XML,将 XML 转换为 JSON。 XML 看起来像这样:

       <?xml version="1.0" encoding="UTF-8"?>
       <mobileApp>
       <wellList>
       <well uid="0" name="Well0"/>
       <well uid="1" name="Well1"/>
       <well uid="2" name="Well2"/>
       </wellList>
       </mobileApp>

这样会创建一个 JSON:

           [[
{
"@uid": "0",
"@name": "Well0"
           },
{
"@uid": "1",
"@name": "Well1"
           },
{
"@uid": "2",
"@name": "Well2"
            }
           ]]

我找不到任何关于在 jQuery 中解析 JSON 响应并用于填充复选框控制组的好的文档。

谁能帮帮我? JSON 是否正确?我使用http://json-lib.sourceforge.net/snippets.html 将XML 转换为JSON。

提前致谢!

【问题讨论】:

    标签: javascript jquery ajax tomcat get


    【解决方案1】:

    您可以使用 jquery 读取 xml 节点 .. 已经尝试了吗?

    【讨论】:

    • 从未尝试过使用 XML 节点。目前这只是一个原型。将有一个进一步的后端模块返回 JSON(从 XML 转换),该模块将填充响应。只是不确定这一切是如何结合在一起的。 Firebug 没有发现我在响应中有 JSON 对象。很迷茫
    • 查看api.jquery.com/jQuery.getJSON,flickr 示例,并检查 flickr 返回和迭代返回。
    • 好的,我已经将 for each 更改为: $.each(data.items, function(i, item){ $("#dynamicCheck").append(item + " "); 我很困惑data.items 也是从哪里来的?对不起,我在使用 jQuery 方面有点新,并且在过去 8 个小时里一直在研究这个 :(
    • 我最终得到 Object is undefined in Firebug
    • 对象未定义:(?)(data=[[Object { @uid="0", @name="Well0"}, Object { @uid="1", @name=" Well1"}, 对象 { @uid="2", @name="Well2"}]])
    【解决方案2】:

    您是否查看过 $.each 的 jQuery 文档? http://api.jquery.com/jQuery.each/

    【讨论】:

    • 嗨蒂姆,是的,我浏览了文档。一定是我出错的地方。我的 div 更改为其中包含 [object Object]、[object Object]、[object Object]。不知道如何将 for 更改为...
    【解决方案3】:

    当然..试试这个:

    <html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $.get ( "http://127.0.0.1/Code/doc.xml" , {} , function ( data ) {
                    var cnt = { } ;
                    $.each ( $(data).find ( 'well' ) , function ( i , node ) {
                        cnt [ i ] = { 
                            "@uid" : $(node).attr('uid'),
                            "@name" : $(node).attr('name')
                        }
                        $ ( '#data' ) . append ( $(node).attr ( 'name' ) + '<br />' ) ; 
                    } ) ;
                    console.log(cnt);
                } ) ;   
            });
        </script>
    </head>
    <body>
        <div id="data"></div>
    </body>
    

    还有 doc.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <mobileApp>
       <wellList>
              <well uid="0" name="Well0" />
              <well uid="1" name="Well1" />
              <well uid="2" name="Well2" />
       </wellList>
    </mobileApp>
    

    【讨论】:

      猜你喜欢
      • 2020-01-16
      • 2015-10-09
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多