各种AJAX方法的使用比较(3)

来源:互联网 发布:打码网站源码 编辑:程序博客网 时间:2024/05/22 13:52

本文收集了在ASP.NET平台上,一些具体代表性的AJAX开发方法,我将用实际的示例代码来演示如何使用它们,让您感受AJAX的进化历程,同时也希望将一些优秀的AJAX开发方法介绍给您。

第三代技术:更简单的数据格式

前面我们看到了可以利用jQuery调用WebService,不过JSON的转换过程感觉有些多余,浏览器的提交就没有这个转换步骤嘛。有时看到一些家伙们着还在JavaScript中拼接JSON字符串,我非常反感,所以这次的示例代码并没有给那种方法抹黑,我采用了一个JSON插件。

第三代技术就完美地解决了输入输出必须采用JSON问题,而且解决了POST的限制。

由于这次变革改变了数据格式,所以服务端也发生了改变,新的框架解决了这些问题,例如:ASP.NET MVC框架,MyMVC框架都支持这个开发方式。

来看一下现在服务端的代码:

  1. [Action]  
  2. public int Add(int a, int b)  
  3. {  
  4.     return a + b;  
  5. }  
  6. [Action]  
  7. public string AddCustomer(Customer customer)  
  8. {  
  9.     // 简单地返回一个XML字符串。  
  10.     // 告诉客户端:服务端收到了什么样的数据。  
  11.     return XmlHelper.XmlSerialize(customer, Encoding.UTF8);  
  12. }  

注意:这种AJAX技术没有与客户端的任何耦合,只要知道一个URL就可以调用了。来看客户端的代码吧:

  1. $.ajax({  
  2.     type:"POST", url: "/AjaxDemo/Add.cspx",   
  3.     data: {a: 1, b: 2},  
  4.     success:function(result){                      
  5.         $("#output").val(result);  
  6.     }  
  7. });  
  8.  
  9.       
  10. // 第二个调用  
  11. var customer = {Name: $("#txtName").val(),   
  12.                 Age: $("#txtAge").val(),   
  13.                 Address: $("#txtAddress").val(),   
  14.                 Tel: $("#txtTel").val(),   
  15.                 Email: $("#txtEmail").val()};  
  16.  
  17. $.ajax({  
  18.     type:"POST", url: "/AjaxDemo/AddCustomer.cspx",   
  19.     data: customer,  
  20.     success:function(result){  
  21.         $("#output").val(result);  
  22.     }  
  23. });  

注意:type:"POST"并不是必须的,您也可以把它们改成GET方式提交。

如果您此时用Fiddler查看请求内容,会发现请求的数据采用的是key=value&key=vlaue的格式,与浏览器的方式一致。由于没有JSON数据格式的限制,现在的参数项简单了。

现在再看上面这段代码,主要代码量在哪里?

是不是在获取调用参数那块?

继续阅读本文,我要让它消失。


原创粉丝点击