Ajax

1:ajax是一种页面局部刷新的技术,不是整个页面刷新。这里就像论坛评论里面的刷新,只是局部的,不是页面全部提交到服务器。

2:页面不刷新,创建个WebClient,它和服务器进行交互。<XMLHttpRequest>

3:代码

Eg:这里就是向服务器发送请求,接受请求。

  1. <script type="text/javascript">
  2.     function btnClick() {
  3.         var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//创建xmlhttp对象,这里相当于WebClient
  4.         if(!xmlhttp) {
  5.             alert("创建XML异常");
  6.             return
    false;
  7.         }
  8.         xmlhttp.open("POST", "/Default/Index" + new Date(), false); //准备向服务器Default发送请求
  9.         //XMLHTTP默认不是同步请求,也就是open方法并不像WebClient的DownLoadString那样,把服务器的数据拿到才返回,是异步的,因此需要监听
  10.        //onreadystatechange事件
  11.         xmlhttp.onreadystatechange=function() {
  12.             if (xmlhttp.readyState==4) {
  13.                 if (xmlhttp.status==200) { //状态码200表示成功
  14.                     alert(xmlhttp.responseText);
  15.                     document.getElementById("Text1").value = xmlhttp.responseText;
  16.                 } else {
  17.                     alert("ajax服务器返回错误");
  18.                 }
  19.             }
  20.         }
  21.         xmlhttp.send();//开始发送请求
  22.     }
  23. </script>

4:


在使用ajax的时候要注意里面的缓存,有可能不往服务器发送请求,可能从缓存中读取值。解决它的办法就是让每次发送的请求都不一样,加上时间。


不同的浏览器创建xmlhttp的方法是不同的。

5:Jquery里面的方法

  1. function btnClick2() {
  2.            var eeee = $("").val();
  3.            var ddd = $("").val();
  4.            $.post("GetDate.cs", { "djdhj": eeee, "": ddd }, function(data, textStates) { //post无缓存,第二个为往服务器那边传递的参数,利用的是键值对的形式
  5.                alert(data);
  6.                alert(textStates);
  7.            });
  8.        $.get(); //get这里可能有缓存
  9.        $.ajax(); //post,get内部实现是调用ajax方法
  10.        }

 

6:Json

Ajax传递复杂数据的时候我们必须要进行解析,但是我们使用Json来解决这个问题.

将复杂的数据按照自己的方式进行封装,在浏览器中可以转换为js可以识别的方式。

  1. //这里可以得到js提交到的数据
  2.           JavaScriptSerializer json=new JavaScriptSerializer();
  3.           string jsons = json.Serialize(new Person() {Name = "ahui", Age = 12}); //将对象转换为json对象
  4.           context.Response.Write(jsons); //输出函数

7:得到json字符串

  1. $(function() {
  2.            $.post("JSon.ashx", function (data, status) {
  3.                var person = $.parseJSON(data);//这里得到服务器端的数据
  4.                alert(person.name);
  5.            });
  6.        });

8:这里通过JQuery来读取服务器JSon.ashx端的返回结果,//$.post("服务器",function(data,status){});

data是服务器返回的数据,status是看可以往服务器发送不,看是否接通链路。

  1. $(function() {
  2.           $.post("JSon.ashx", function (data, status) {
  3.               alert(data);
  4.           });
  5.       });

9:(全局文件)配置文件的解释


讲解Application_Start文件中的代码

我们知道Global.asax.cs是最底层的代码,每一次iis请求,都会首先执行这里的代码,且只执行一次,下面就让我们来学习下,这里的代码的具体的意思。

Ajax学习记录的更多相关文章

  1. Ajax的学习记录

    Ajax学习笔记 1.同步与异步同步:客户端发送请求到服务端,当服务器返回响应之前,客户端都处于等待卡死状态异步:客户端发送请求到服务端,当服务器返回响应之前,客户端可以随意做其他事情,不会卡死 2. ...

  2. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  3. vue.js学习记录

    vue.js学习记录 文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~ vue实例 生命周期 beforeCreate:不能访问thi ...

  4. 【jQuery】精细学习记录

    [jQuery]精细学习记录 基础 基本语法: $(选择器).action(回调函数); $/jQuery //jQuery核心函数 $(选择器) //获得的jQuery对象 jQuery核心 - j ...

  5. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  6. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  7. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  8. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  9. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

随机推荐

  1. 人人都是 DBA(XIII)索引信息收集脚本汇编

    什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA& ...

  2. FusionCharts简单教程(七)-----使用FusionCharts实现下钻功能

          前面介绍的FusionCharts都是对FusionCharts的基本属性进行操作,下面几篇博文就FusionCharts的高级特性做一个介绍,包括:添加下钻链接.使用Style样式定制图 ...

  3. 一种另类的解决URL中文乱码问题--对中文进行加密、解密处理

    情景:在资源调度中,首先用户需要选择工作目标,然后跟据选择的工作目标不同而选择不同的账号和代理ip.处理过程如下:点击选择账号,在js中获取工作目标对工作目标进行两次编码(encodeURI(enco ...

  4. Linux xargs将输出数据流转换成命令参数

    200 ? "200px" : this.width)!important;} --> 介绍 我们可以利用管道将一个命令的“标准输出”作为另一个命令的“标准输入”:但是这里的 ...

  5. [51单片机] 以PWM控制直流电机为例建一个简单的51工程框架

    目录 1)功能概述 2)引脚连接 3)框架介绍 4)模块说明 5)复用规则 6)工程链接 1)功能概述 名称:独立按键控制直流电机调速 内容:对应的电机接口需用杜邦线连接到uln2003电机控制端; ...

  6. C#开源磁盘/内存缓存引擎

    前言 昨天写了个 <基于STSdb和fastJson的磁盘/内存缓存>,大家可以先看看.下午用到业务系统时候,觉得可以改进一下,昨晚想了一个晚上,刚才重新实现一下. 更新 1. 增加了对批 ...

  7. java 堆栈分析2

    有了mat.同时我们发现Java有提供jvisualvm, jvisualvm是一个不错的工具: heap dump . thread dump. cpu/mem profile 无所不能. 不过观察 ...

  8. linux环境 c 中如何执行shell命令

    1 system 相当简单: int system(const char *command); system("ps -aux"); 2 popen popen有两个参数,第一个是 ...

  9. fir.im Weekly - 给 Mac 应用开发者的教程

    写作是一件苦差事.无论写代码,还是写文章. 关于 Mac 应用开发,国内很少有完整的书籍或教程.最近@剑指人心写的 <Mac 应用开发基础教程>终于!完!稿!了! 这本书中对 Mac 平台 ...

  10. javascript for..in 知识

        JavaScript 中for...in...,一直在代码中使用,最初认为,for xx in obj||array 对于arry就xx对应为数组索引,对于obj来说xx对应就是obj中的pr ...