【发布时间】:2012-05-24 18:37:46
【问题描述】:
我正在尝试使用 ajax asp.net 接收 json 数据。 我有一个带有 web 方法的 web 服务 -
[WebMethod]
public List<Song> GetSongListByMood(string Mood)
{
SongBL songbl = new SongBL();
return songbl.GetSongListByMoodBL(Mood);
}
我得到了 javascript 代码 -
$(document).ready(function () {
var cssSelector = {
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
};
var playlist = [];
var options = {
swfPath: "./js",
supplied: "mp3"
};
var myPlaylist = new jPlayerPlaylist(cssSelector, playlist, options);
$("#slider a").click(function () {
var mood = $(this).text();
var xhr = new XMLHttpRequest();
var url = "AvironaService.asmx/GetSongListByMood";
xhr.open("POST", url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var obj = JSON.parse(xhr.responseXML.text);
myPlaylist.playlist = obj;
}
};
var contentType = "application/x-www-form-urlencoded"
xhr.setRequestHeader("Content-Type", contentType);
var qs = 'Mood=' + mood;
xhr.send(qs);
});});
现在基本上我想做的是使用 ajax 以 json 格式从服务器获取数据并将数据放入播放列表变量中
【问题讨论】:
-
那么问题是什么?为什么不使用 jQuery 的内置 $.ajax 方法呢?它将您的大部分 ajax 代码包装在一个方法中。 api.jquery.com/jQuery.ajax
-
哦抱歉,忘了说问题,我收到一个空数据
-
我会从 Fiddler2 的 Firebug 之类的工具开始,看看你得到的响应是什么......
-
你有jQuery,为什么用
XMLHttpRequest而不是$.ajax()? -
这是我使用 fiddler2 时的问题,我可以查看数据,但是当我尝试在 javascript 中提醒数据时,浏览器会显示未定义的内容...
标签: javascript asp.net ajax json web-services