AJAX调用方式总结(3)

来源:互联网 发布:div调用js方法 编辑:程序博客网 时间:2024/05/20 00:10

长篇大论来讲述什么是AJAX,怎么使用AJAX,这样我总觉得太理论化了,接受起来会有一定的难度...所以,本篇博客的另一个主旨是:从实例入手,由浅到深。

实例三:使用$.ajax实现获取后台数据,后台返回数据格式为text,json,xml三种类型

$.ajax()

定义:ajax()方法通过远程HTTP请求载入信息 

语法:Jquery.ajax([settings])

常用参数[settings]--用于配置Ajax的键值对请求

url:必须,请求发送的地址

type: 请求方式

data:可选,发送到服务器的数据

success:可选,请求成功时运行的函数

1).data:包含结果的数据

2).status:包含请求的状态

3).jqXHR:包含XmlHttpRequest对象

dataType:服务器响应的数据类型,默认将智能判断

其余参数详情参见:http://www.w3school.com.cn/jquery/ajax_ajax.asp

1>.test格式 --获取时间的时,分,秒

后台代码:

  1. public partial class textData : System.Web.UI.Page  
  2.    {  
  3.        protected void Page_Load(object sender, EventArgs e)  
  4.        {  
  5.            string hour = DateTime.Now.Hour.ToString();  
  6.            string minute = DateTime.Now.Minute.ToString();  
  7.            string second = DateTime.Now.Second.ToString();  
  8.  
  9.            string textStr = hour + "/" + minute + "/" + second;  
  10.  
  11.            Response.Write(textStr);  
  12.  
  13.            Response.End();  
  14.        }  
  15.    } 

前台获取代码:

  1. <script src="../Scripts/jquery-1.8.0.js" type="text/javascript"></script>  
  2. <script type="text/javascript">  
  3.     $(function () {  
  4.         $("#btnText").click(function () {  
  5.             $.ajax({  
  6.                 url: "textData.aspx",  
  7.                 type: "get",  
  8.                 dataType: "text",  
  9.                 success: textSucceed,  
  10.                 error: Error  
  11.             });  
  12.         });  
  13.  
  14.     });  
  15.  
  16.     //成功  
  17.     function textSucceed(result) {  
  18.         $("#tbShow").val(result);  
  19.     }  
  20.  
  21.     //错误函数  
  22.     function Error() {  
  23.         alert("Error!!!");  
  24.     }  
  25. </script> 

2>.Json格式 --获取时间的时,分,秒

我们需要在后台返回Json格式的数据,添加一个dll链接库,类似.Net中处理Json数据的API ,如图:

Json格式后台代码:

  1. Json后台  
  2.  //添加引用  
  3.  using Newtonsoft.Json;  
  4.  namespace AJAX.Json  
  5.  {  
  6.      public partial class jsonData : System.Web.UI.Page  
  7.      {  
  8.          protected void Page_Load(object sender, EventArgs e)  
  9.          {  
  10.              string hour = DateTime.Now.Hour.ToString();  
  11.              string minute = DateTime.Now.Minute.ToString();  
  12.              string second = DateTime.Now.Second.ToString();  
  13.    
  14.              //匿名类型  
  15.              var time = new { h = hour, m = minute, s = second };  
  16.    
  17.              //转Json格式  
  18.              var jsonStr = JsonConvert.SerializeObject(new[] { time });  
  19.    
  20.              Response.Write(jsonStr);  
  21.    
  22.              Response.End();  
  23.          }  
  24.      }  
  25.  } 

Json格式前台代码:

  1. <script src="../Scripts/jquery-1.8.0.js" type="text/javascript"></script>  
  2.     <script type="text/javascript">  
  3.         $("#btnJson").click(function () {  
  4.             $.ajax({  
  5.                 url: "jsonData.aspx",  
  6.                 type: "get",  
  7.                 dataType: "json",  
  8.                 success: jsonSuccess,  
  9.                 error: Error  
  10.             });  
  11.         });  
  12.  
  13.         //成功  
  14.         function jsonSuccess(result) {  
  15.             //[{h:10,m:20,s:30}]  
  16.             //key:数组元素下标-此时为0  
  17.             //value:{ h:10,m:20,s:30 }  
  18.             $.each(result, function (key, value) {  
  19.                 var h = value.h;  
  20.                 var m = value.m;  
  21.                 var s = value.s;  
  22.                 $("#tbShow").val(h + ":" + m + ":" + s);  
  23.             });  
  24.         }  
  25.          
  26.         //错误函数  
  27.         function Error() {  
  28.             alert("Error!!!");  
  29.         }  
  30.     </script> 

3>.xml格式--获取用户名,出生年月

Xml格式后台代码:

  1. //添加引用  
  2. using System.Xml;  
  3.  
  4. namespace AJAX.Ajax_Xml  
  5. {  
  6.     public partial class XmlData : System.Web.UI.Page  
  7.     {  
  8.         protected void Page_Load(object sender, EventArgs e)  
  9.         {  
  10.             string name = "zld";  
  11.             string birth = "1990-1-8";  
  12.  
  13.             //第一种:直接字符串拼接  
  14.             string xmlStr = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><root><Name>" + name + "</Name><Birth>" + birth + "</Birth></root>";  
  15.  
  16.             //第二种:XmlDocument创建  
  17.  
  18.             //创建文档  
  19.             XmlDocument xmlDocument = new XmlDocument();  
  20.             //文档头声明  
  21.             XmlDeclaration xd = xmlDocument.CreateXmlDeclaration("1.0","utf-8",null);  
  22.             xmlDocument.AppendChild(xd);  
  23.  
  24.             //添加根节点  
  25.             XmlElement root = xmlDocument.CreateElement("root");  
  26.             xmlDocument.AppendChild(root);  
  27.  
  28.             //给根节点添加子节点  
  29.             XmlElement node1 = xmlDocument.CreateElement("Name");  
  30.             node1.InnerText = name;  
  31.             root.AppendChild(node1);  
  32.  
  33.             XmlElement node2 = xmlDocument.CreateElement("Birth");  
  34.             node2.InnerText = birth;  
  35.             root.AppendChild(node2);  
  36.  
  37.             //获取节点元素  
  38.             string xmlStr2 = xmlDocument.OuterXml;  
  39.  
  40.             Response.Write(xmlStr2);  
  41.             Response.End();  
  42.  
  43.         }  
  44.     }  

Xml格式前台代码:

  1. <script src="../Scripts/jquery-1.8.0.js" type="text/javascript"></script>  
  2.     <script type="text/javascript">  
  3.         $(function () {  
  4.             $("#btnXml").click(function () {  
  5.                 $.ajax({  
  6.                     url: "XmlData.aspx",  
  7.                     type: "get",  
  8.                     dataType: "xml",  
  9.                     success: Success,  
  10.                     error: function (result) {  
  11.                         alert("相应内容非xml格式!");  
  12.                     }  
  13.                 });  
  14.             });  
  15.         });  
  16.  
  17.         function Success(xmlResult) {  
  18.             //获取返回结果  
  19.             var result = xmlResult;  
  20.             //找寻根节点并循环遍历  
  21.             $(result).find('root').each(function (key) {  
  22.                 //获取子节点名为Name的值  
  23.                 var name = $(this).children("Name").text();  
  24.                 //获取子节点名为Birth的值  
  25.                 var birth = $(this).children("Birth").text();  
  26.                 $("#tbShow").val(name + ":" + birth);  
  27.             });  
  28.         }  
  29.     </script>