通过 AJAX 接收 JSON asp.net 问题
receiving json via ajax asp.net issue
我正在尝试使用 ajax asp.net 接收 json 数据。我有一个带有网络方法的网络服务 -
[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);
});});
现在基本上IM试图做的是使用JSON格式的ajax从服务器获取数据,并将数据放在播放列表变量中
您需要进行一些更改。
-
更改方法以返回
string
而不是List<Song>
。 -
添加 using 语句
using System.Web.Script.Serialization
。 -
创建一个
JavaScriptSerializer
实例,并使用它来序列化对象并返回结果。
所以。。。
using System.Web.Script.Serialization;
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string GetSongListByMood(string Mood)
{
SongBL songbl = new SongBL();
var jss = new JavaScriptSerializer();
return jss.Serialize(songbl.GetSongListByMoodBL(Mood));
}
更改 AJAX 代码以利用可用的 JQuery 方法:
$("#slider a").click(function () {
$.ajax({
"url" : "AvironaService.asmx/GetSongListByMood",
"type" : "post",
"data" : {"Mood" : $(this).text()},
"dataType" : "json"
"success" : function(data){
myPlaylist.playlist = data;
}
});
});
相关文章:
- ASP.NET MVC5 jQuery FullCalendar获取事件问题
- 页面重新加载时出现问题.ASP.NET
- asp.net中的jquery对话问题
- .NET服务中的JSON反序列化-can'不能解决这个问题
- ASP.NET-连接html、javascript和CSS的问题
- ASP.NET MVC级联下拉列表列出Javascript问题
- asp.net mvc中的javascript变量出现问题
- MVC.Net 4 Razor问题使用<文本>标签
- ASP.net VB 详细信息视图插入:取消问题的 javascript 回发
- Web API 应用程序中 asp.net 路由和路由前缀问题
- jQuery插件和 ASP.NET 内容页面的问题
- 如何使用 DataTables.net 解决将表破坏容器外的长列值问题
- 通过 AJAX 接收 JSON asp.net 问题
- asp.net JavaScript 验证问题
- ASP.NET MVC 4 路由问题
- .NET 4.0 转换后的 JavaScript 问题
- ASP.NET 和Javascript在Firefox问题中不起作用
- asp.net 高度属性的元素样式问题
- 有关应用程序中的 Cookie 和会话 ASP.net 问题
- 奇怪的ASP.. NET问题,试图找到包含在文本框中的值