2012-02-29 48 views
0

我已经从django回来了这个json对象。jquery/ajax + django

我想知道我们如何使用ajax/jquery检索粗体字?

基本上我想找回一对密钥 - “关键字”

我试过以下,但无济于事要么得到一个未定义或低于整个块的各种方法。

我很难过。

{ "new_list" : { "a1" : { "exp_datetime" : "2012-03-07 22:13:31", 
      "keyword" : "**a1**", 
      "sub_datetime" : "2012-02-29 22:13:31" 
     }, 
     "blink182" : { "exp_datetime" : "2012-03-07 22:12:40", 
      "keyword" : "**blink182**", 
      "sub_datetime" : "2012-02-29 22:12:40" 
     }, 
     "blue" : { "exp_datetime" : "2012-03-07 22:14:44", 
      "keyword" : "**blue**", 
      "sub_datetime" : "2012-02-29 22:14:44" 
     }, 
     "jolie" : { "exp_datetime" : "2012-03-07 22:08:46", 
      "keyword" : "**jolie**", 
      "sub_datetime" : "2012-02-29 22:08:46" 
     }, 
     "santa claus" : { "exp_datetime" : "2012-03-07 22:14:13", 
      "keyword" : "santa claus", 
      "sub_datetime" : "2012-02-29 22:14:13" 
     }, 
     "teleport" : { "exp_datetime" : "2012-03-07 22:09:26", 
      "keyword" : "**teleport**", 
      "sub_datetime" : "2012-02-29 22:09:26" 
     } 
    } } 

这里是我试过的方法:

function updateKeywords(e) { e.preventDefault(); 
           var keyword_form = jQuery(e.target); 
           alert("Yay Jquery is working!!!"); 
           $.ajax({ 
            url : keyword_form.attr('action'), 
            type : keyword_form.attr('method'), 
            data : keyword_form.serialize(), 
            dataType : 'json', 
            success : function(response) {alert("JSON Data: " + response.new_list.keyword); 
               }, 
            }); 
            } 



           }); 

不幸的是,当我把上面的,它会返回一个未定义JSON数据。

当我只是把response.new_list,它返回整个块。

不用感谢任何帮助。

回答

0

在你成功的回调函数,可以遍历new_list对象,像这样的键,积累关键字的列表,当您去:

keywords = []; 
​for (var key in response.new_list) { 
    keywords.push(response.new_list[key].keyword); 
} 

jsFiddle

+0

Thanks @Hans Engel!奇迹般有效! :d – 2012-02-29 14:34:39