2010-06-14 28 views
1

我有一个简单的jQuery脚本如下:移交数据

$('a').click(function() 
    { 
     //get the id of the song we want to play 
     var song_id = $(this).attr("id"); 

     //do a get request to get the information about the song 
     $.get("http://www.site.com/v4/ajax/get_song_info.php", { id: song_id, }, function(data) 
     { 
      alert("Data Loaded: " + data); 
     }); 
     //alert(song_id); 
    }); 

我得到它的工作,它返回的数据'艺术家“称号”“的歌曲时长”及几个位等等。

如何处理我的'数据',然后我可以用每一位更新我的页面。在这种情况下,我想设置一系列“'来保存每个返回的值。

谢谢。

回答

0

最佳做法是使用JSON编码。

无论您使用的服务器语言是什么,请将您的数据编码为JSON对象,然后使用 MIME类型application/json发送它。

的Javascript/jQuery的一侧做出.getJSON()一个电话,这是aquivalent到

$.ajax({ 
    url: url, 
    dataType: 'json', 
    data: data, 
    success: callback 
}); 

然而,如果你使用jQuery 1.4.x的,你现在在你的数据变量JSON对象。 在以前的版本中,您需要将传入数据显式解析为JSON对象。例如

if(window.JSON) data = window.JSON.parse(data); 

这将创建一个有效的Javascript Object,你可以把和像

data.artist 

(当然,你需要在发送之前创建这样的对象结构的服务器端)

+0

我使用访问PHP所以而不是回声'什么'我需要做什么,PHP是否输出一个JSON对象? – ian 2010-06-14 05:52:51

+1

如果您使用PHP5,请尝试'echo json_encode(aPHPObject)'。 – 2010-06-14 05:54:00