初试.net使用ajax调用后台方法
2013-06-05 10:34
295 查看
方法一:
第一步,建立一个.aspx文件
在查看其源代码里写:即.aspx.cs,主要是使用using System.Web.Services;
关键处:[WebMethod]
在.aspx文件里写:
方法二:
建立一个Handler.ashx。类作为后台处理请求:
序列化JSON使用的是Newtonsoft:
待序列化的类:
结果:
第一步,建立一个.aspx文件
在查看其源代码里写:即.aspx.cs,主要是使用using System.Web.Services;
关键处:[WebMethod]
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Services; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [WebMethod] public static string HandleEvent01() { //code... return "YOUR DATA"; } }
在.aspx文件里写:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $.ajax({ type: "POST", contentType: "application/json", url: "Default2.aspx/HandleEvent01", //调用WebService的地址和方法名称组合 ---- WsURL/方法名 dataType: 'json', //WebService 返回Json类型 或者 Json/string success: function(re) { $('#re_method04').html(re.d); } }); }); </script> </head> <body> <form id="form1" runat="server"> <div id="re_method04"> </div> </form> </body> </html>
方法二:
建立一个Handler.ashx。类作为后台处理请求:
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { Json j = new Json(); j.Msg = "试验成功了,哈哈哈哈!"; context.Response.Write(MyJsonConvert.SerializeObjectEx(j)); } public bool IsReusable { get { return false; } } }前台访问:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> $(function () { $.ajax({ type: "POST", contentType: "application/json", url: "Handler.ashx/ProcessRequest", //调用WebService的地址和方法名称组合 ---- WsURL/方法名 dataType: 'json', //WebService 返回Json类型 或者 Json/string success: function (re) { console.info(re); $('#re_method04').html(re.Msg); } }); }); </script> </head> <body> <form id="form1" runat="server"> <div id="re_method04"> </div> </form> </body> </html>
序列化JSON使用的是Newtonsoft:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Newtonsoft.Json; /// <summary> ///MyJsonConvert /// 序列化对象为JSON /// </summary> public class MyJsonConvert { public MyJsonConvert() { } public static string SerializeObjectEx(object value) { Newtonsoft.Json.Converters.IsoDateTimeConverter timeConverter = new Newtonsoft.Json.Converters.IsoDateTimeConverter(); //这里使用自定义日期格式,默认是ISO8601格式 timeConverter.DateTimeFormat = "yyyy-MM-dd"; //设置时间格式 Newtonsoft.Json.Converters.StringEnumConverter enumConverter = new Newtonsoft.Json.Converters.StringEnumConverter(); //枚举值转换成字符串名字 JsonSerializerSettings JsonSetting = new JsonSerializerSettings(); JsonSetting.Converters.Add(timeConverter); JsonSetting.Converters.Add(enumConverter); JsonConvert.SerializeObject(value, JsonSetting); return JsonConvert.SerializeObject(value,JsonSetting); } }
待序列化的类:
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///Json /// 返回json数据 /// </summary> public class Json { private string msg; public string Msg { get { return msg; } set { msg = value; } } public Json() { // //TODO: 在此处添加构造函数逻辑 // } }
结果:
相关文章推荐
- Java后台框架篇--Struct2之使用Ajax调用Action方法并返回值
- 在js 中使用ajax 调用后台代码方法,解析返回值
- jQuery之异步Ajax请求使用 通过传递参数来调用后台方法返回状态
- Ajax 1.0 中使用web控件调用后台方法的用法.
- java 中使用ajax调用后台方法注意事项
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- VS2005 使用AJAX直接调用后台方法
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- 使用Ajax.dll前台调用后台方法
- JS Ajax --- 使用AjaxPro 调用后台方法 操作数据库
- 注册JQuery使用ajax调用后台方法,判断用户名、邮箱是否存在,并显示隐藏提示
- MVC初学笔记(2):前台使用Ajax调用后台方法
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- ASP.Net Ajax应用初步:使用AJAX直接调用后台方法
- 使用JQuery方式的Ajax调用demo.aspx.cs文件后台的方法
- 使用Ajax.dll前台调用后台方法及错误示例
- 微软ASP.Net Ajax:使用AJAX直接调用后台页面类方法
- 注册JQuery使用ajax调用后台方法,判断用户名、邮箱是否存在,并显示隐藏提示
- JQuery调用Ajax使用Submit方法后台无法接受到发送的form表单
- Ajax 控件 的使用 以及js调用后台方法【自己总结一下】