200分2贴 求AJAX从后台取值

zuomingyu2 2010-03-18 07:40:52

var music_arr = [
{
"id":"1",
"song":"黑色毛衣",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Tonya Mitchell-Stay.mp3",
"lyric":
{
"type":"com",
"info":" 这里是歌词" },
"stat":"3"
}
,
{
"id":"2",
"song":"白色风车2",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Super Junior M-Super Girl.mp3",
"lyric":
{
"type":"no",
"info":" 歌词" },
"stat":"0"
}

];



music_arr里的"song":等这些值我需要从后台取得 可能有好几首歌曲

这是音乐播放器页面里存放歌曲信息的 html 我这里的歌曲信息我要从后台取到,可以是Sevlet或者Struts2 等等 后台给的可以是一个数组或者一个List 然后在页面里可以取到这样信息,然后另外一个页面提交请求后 这里可以再添加一首歌曲的信息
原来的那些信息要继续存在 好像是用JSON还是什么比较好吧
http://topic.csdn.net/u/20100318/00/4a2d7cf8-bcfc-4bfa-bac4-c184231636dc.html?92927
这个是相同的帖子 你如果能正确的回答问题的话 请去这里留言 我把200分都给你
...全文
259 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuomingyu2 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 luffyke 的回复:]

传参URL或者表单都行
[/Quote]

可以在表单里提交吗? 怎么写啊
longlonglong25 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zuomingyu2 的回复:]
引用 1 楼 duiduiaa 的回复:

你首先需要建立一个DTO 叫SongDTO 属性名字和你的json串名字一样,然后lyric是一个List
这个List放的 比如叫lyricDTO

Map map = new HashMap();
map.push("lyric",lyricDTO.class)
JSONArray json = JSONArray。fromObject……
[/Quote]
帮顶贴。。兄弟头像一样。。哈哈
luffyke 2010-03-19
  • 打赏
  • 举报
回复
传参URL或者表单都行
zuomingyu2 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 duiduiaa 的回复:]

前台什么都不用写啊 就是将你的music_arr参数传入到后台就可以了
后台 String music_arr = (String)request.getParameter("music_arr");
Map map = new HashMap();
map.push("lyric",lyricDTO.class)
JSONArray json = JSONArray。fromObje……
[/Quote]


可以告诉我下 前台什么都不用写啊 就是将你的music_arr参数传入到后台就可以了
要怎么把JS的内容传给后台啊 谢谢了
xql80329 2010-03-19
  • 打赏
  • 举报
回复
用HASHMAP 吧
NickCheng 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 shan1119 的回复:]

return data(ajax.html):
HTML code

[

{
"id":"1",
"song":"黑色毛衣",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Tonya Mitchel……
[/Quote]

jquery,json……搞定
shan1119 2010-03-19
  • 打赏
  • 举报
回复
or:
html:

<script type="text/javascript">
var music_arr = [
{
"id":"1",
"song":"黑色毛衣",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Tonya Mitchell-Stay.mp3",
"lyric":{
"type":"com",
"info":" 这里是歌词"
},
"stat":"3"
},
{
"id":"2",
"song":"白色风车2",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Super Junior M-Super Girl.mp3",
"lyric":{
"type":"no",
"info":" 歌词"
},
"stat":"0"
}
];
</script>


js:

$.get("ajax.html",function(data){
document.write(data);
for(var i=0;i<music_arr.length;i++)
alert(music_arr[i].song);
});
adaikiss 2010-03-19
  • 打赏
  • 举报
回复
杯具也没看明白。。。
shan1119 2010-03-19
  • 打赏
  • 举报
回复
return data(ajax.html):

[
{
"id":"1",
"song":"黑色毛衣",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Tonya Mitchell-Stay.mp3",
"lyric":
{
"type":"com",
"info":" 这里是歌词" },
"stat":"3"
}
,
{
"id":"2",
"song":"白色风车2",
"singer":"周杰伦",
"special":"《专辑名称》",
"url":"D:/MusicDownLoad/Super Junior M-Super Girl.mp3",
"lyric":
{
"type":"no",
"info":" 歌词" },
"stat":"0"
}

]


js:

$.get("ajax.html",function(data){
var d=eval(data);
for(var i=0;i<d.length;i++)
alert(d[i].song);
});
tuo_bing 2010-03-19
  • 打赏
  • 举报
回复

/**
* 描述 : <List转换为JSON>. <br>
*<p>

* @param req
* @param response
* @throws ServletException
* @throws IOException
*/
private void ListToJson(HttpServletRequest req, HttpServletResponse response)throws ServletException, IOException{
JSONArray jsonArray = null;
People people = null;
Phone phone = null;
List<People> list = new ArrayList<People>();
try {
for(int i =0;i<3;i++){
people = new People();
phone = new Phone("135"+i,"138"+i);
people.setAge(i);
people.setPhone(phone);
list.add(people);
}
jsonArray = JSONArray.fromObject(list);

//System.out.println(jsonArray.toString());
} catch (JSONException e) {
e.printStackTrace();
}
this.print(response, jsonArray.toString(1,1));
}
}

取你猪头 2010-03-19
  • 打赏
  • 举报
回复
没搞清楚你到底问的什么问题?
longtenggdf 2010-03-19
  • 打赏
  • 举报
回复
看样子你很着急嘛 这样吧你加我QQ我帮你弄弄看 在论坛里很多说不清楚 250473330
zyus1987 2010-03-19
  • 打赏
  • 举报
回复
看了半天,没整明白啥意思~!哎~!杯具了~!
xuexijava 2010-03-19
  • 打赏
  • 举报
回复
Mark。。。。。。。
小霍夫 2010-03-19
  • 打赏
  • 举报
回复
..........................
duiduiaa 2010-03-19
  • 打赏
  • 举报
回复
用form提交的话
在form里面写 一个隐藏域
<input type="hidden" name="music_arr" id="music_arr ">
js提交方法中写
//
document。getElementById(“music_arr ”)。value = music_arr;
//music_arr是你写的串
然后document.forms[0].submit();

在后台按我给你的 ok!
ray8837008 2010-03-19
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。。。
llqoo 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 duiduiaa 的回复:]
前台什么都不用写啊 就是将你的music_arr参数传入到后台就可以了
后台 String music_arr = (String)request.getParameter("music_arr");
Map map = new HashMap();
map.push("lyric",lyricDTO.class)
JSONArray json = JSONArray。fromObject……
[/Quote]


这个方法好
duiduiaa 2010-03-18
  • 打赏
  • 举报
回复
前台什么都不用写啊 就是将你的music_arr参数传入到后台就可以了
后台 String music_arr = (String)request.getParameter("music_arr");
Map map = new HashMap();
map.push("lyric",lyricDTO.class)
JSONArray json = JSONArray。fromObject(“music_arr ”);
List<SongDTO> songList = (List<SongDTO>)JSONArray。toCollection(json,SongDTO 。class,map);

public class SongDTO {
private String id;
private String song;
......
private List<Lyric> lyricList;


}

public class LyricDTO {
private String type;
private String info;
private String stat;

}

加上get和set方法
这样就可以了饿
duiduiaa 2010-03-18
  • 打赏
  • 举报
回复


List<SongDTO> songList = (List<SongDTO>)JSONArray。toCollection(json,SongDTO 。class,map);

最后一句话可以强转
加载更多回复(2)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧