当前位置:  编程技术>WEB前端

探讨jQuery的ajax使用场景(c#)

    来源: 互联网  发布时间:2014-08-25

    本文导语:  一:jQuery.ajax语法基础 jQuery.ajax([options]) 概述:通过 HTTP 请求加载远程数据。 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。使用这个方法可以获得更多的灵活性。 数据类型$...

一:jQuery.ajax语法基础

jQuery.ajax([options])

概述:通过 HTTP 请求加载远程数据。

jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。使用这个方法可以获得更多的灵活性。

数据类型
$.ajax()函数依赖服务器提供的信息来处理返回的数据。通过dataType选项还可以指定其他不同数据处理方式。其中,text和xml类型返回的数据不会经过处理。如果指定为html类型,任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。如果指定为json类型,则会把获取到的数据作为一个JavaScript对象来解析,并且把构建好的对象作为结果返回。发送数据到服务器,默认情况下,Ajax请求使用GET方法。如果要使用POST方法,可以设定type参数值。这个选项也会影响data选项中的内容如何发送到服务器。

使用场景一:
描述:保存数据到服务器,成功时显示信息。jQuery 代码:
$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
});

使用场景二:
描述:装入一个 HTML 网页最新版本。jQuery 代码:
$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});

load(url, [data], [callback])
概述:载入远程 HTML 文件代码并插入至 DOM 中。
默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。

使用场景一:
描述:加载 feeds.html 文件内容。jQuery 代码:
$("#feeds").load("feeds.html");

jQuery.get(url, [data], [callback], [type])和jQuery.post(url, [data], [callback], [type])

概述:通过远程 HTTP GET或POST  请求载入信息。
这是一个简单的 GET或POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
描述:显示 test.aspx 返回值(HTML 或 XML,取决于返回值),添加一组请求参数。jQuery 代码:
$.get("test.aspx", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
});
$.post("test.aspx", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
});

上面是基本的语法,我们只是先做一个了解,要是你已经熟悉,那么我们将开始一步一步对上面的方法和使用场景进行具体讨论。

二:jQuery.ajax伴随ASP.NET的实战练习

首先创建Default.aspx页面,作为请求发起页面,并会获得返回值。页面的代码Default.aspx是:

代码如下:





    $(function() {
        $('#showinfo').click(function() {
            var data = { key1: "刘明丰", key2: "林望" };
            $.ajax({
                type: "POST",
                url: "response.aspx",
                data: data,
                dataType: "text",
                success: function(msg) {
                    $("#ajax").append(msg);
                }
            });
            $.ajax({
                url: "test.htm",
                cache: false,
                success: function(html) {
                    $("#resulthtml").append(html);
                }
            });
            $("#load").load("test.htm");
            $.get("response.aspx", data, success1, "text");
            $.get("TextJson.txt", success3, "json");
            $.post("response.aspx", data, success2, "text");
            function success1(message) {
                $("#get").append(message);
            }
            function success2(message) {
                $("#post").append(message);
            }
            function success3(siteData) {
                var result = "
  • 334一号床:" + siteData.key1 + "
  • ";
                    result += "
  • 334二号床:" + siteData.key2 + "
  • ";
                    result += "
  • 334三号床: " + siteData.key3 + "
  • ";
                    result += "
  • 334四号床: " + siteData.key4 + "
  • ";
                    $("#result").html(result);
                }
            });
        });



       



        
      ajax:

        
      resulthtml:

        
      load:
        
        
      get:

        
      post:

        





      Default.aspx.cs里面有没写任何代码,默认即可。
      请求的接受者这里面有三种角色:response.aspx页面、test.htm静态页面和TextJson.txt。

      response.aspx页面:主要是在服务器端获得客户端提交的数据,并返回数据给客户端。
      test.htm静态页面:主要是给客户端局部装入一个HTML网页最新版本。
      TextJson.txt:是作为数据储存在文件中,让客户端来异步访问的。

      response.aspx页面代码,response.aspx是:

      没有任何html代码,因为主要是在服务器端获得客户端提交的数据,并返回数据给客户端,不需要显示html内容,所以可以不含html标记。
      response.aspx.cs页面代码:

      代码如下:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Runtime.Serialization.Json;
      using System.Runtime.Serialization;

      namespace JqueryAjax2
      {
          public partial class response : System.Web.UI.Page
          {
              protected void Page_Load(object sender, EventArgs e)
              {
                  string str = Request["key1"];
                  Response.Write("success" + str);
              }
          }
      }


      在代码中可以看到服务器端获得客户端提交的数据,并返回数据给客户端的方式。

      test.htm静态页面的代码是:

      代码如下:




         


      test.html



      当静态页面被请求后,会作为html的格式返回客户端,使用 $("#resulthtml").append(html);这样的方法来显示test.htm静态页面的内容。

      TextJson.txt里面保存着一段文本,是json格式的:

      {   "key1": "刘明丰",   "key2": "林望",   "key3": "陈文杰",   "key4": "耿殿佳" }

      在被访问后返回的是json格式的数据,在客户端获得json后会自动转换成对象。

      好了,jQuery的异步使用场景基本满足我们的需求,自己试试看吧。


          
       
       
       
      本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












    • 相关文章推荐
    • jbuilder6不稳定!请有使用经验的来探讨一下是什么原因?
    • 基于c中使用ftruncate()前需要fflush(),使用后需要rewind()的深入探讨
    • 探讨:如何使用委托,匿名方法对集合进行万能排序
    • 探讨SQL compute by的使用分析
    • 函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
    • 探讨:使用httpClient在客户端与服务器端传输对象参数的详解
    • 会javabean,用jbuiler的请进,呵呵,大家探讨探讨,参与者都有分!!
    • jsp/servlet开发网站,客户端打印解决方案探讨!
    • 厦门LINUX技术探讨群
    • 大家可以探讨一下Servlet的设计模式么?
    • 探讨Oracle中的&号问题
    • 大家来探讨!
    • 探讨如何学习j2ee!
    • 探讨下启动盘的制作原理!
    • 高分探讨小问题--关于jsp
    • [探讨]文件系统的控制问题
    • 欢迎高手指教,菜鸟来探讨!
    • 关于一个系统的探讨~
    • C/C++代码格式工具探讨
    • 请教--父进程监控子进程,欢迎高手进来探讨!!!
    • 探讨下linux下pam验证中的crypt
    • 一个问题与大家探讨,各位请进,来者有分!!!
    • 关于学习Linux的一个问题(非技术的探讨)
    • makefile eval 问题--共同探讨
    • Linux Makefile探讨,产生的.d文件是.c文件的依赖?
    • 要做显示数据库内容的柱状图,有意者可以提意见大家进行探讨


    • 站内导航:


      特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

      ©2012-2021,,E-mail:www_#163.com(请将#改为@)

      浙ICP备11055608号-3