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. 算法:POJ1006 三重峰值问题

    这题有直接套公式的解法 这里提供一个O(n)的解法. package practice; import java.io.BufferedInputStream; import java.util.Sc ...

  2. 团队项目——站立会议 DAY8

    第八次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:在反复修改和审查后,处理功能模块代码出错处,完善并运行. 2.钟灵毓秀:再次检查代码,运行报错处的代码修改 ...

  3. Java提高篇(二六)-----hashCode

          在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最 ...

  4. 浅谈Excel开发:一 Excel 开发概述

        做Office相关的开发工作快一年多了,在这一年多里,在插件的开发中遇到了各种各样的问题和困难,还好同事们都很厉害,在和他们的交流讨论中学到了很多的知识.目前Office相关的开发资料是比较少 ...

  5. Unity3D热更新全书-PageZero

    由于深刻的认识到自己是个思维跳跃的人,深入浅出是个我还要努力很久的目标,为了让大家不至于在我乱七八糟的文字中迷失,特整理目录一份 无分类 <Unity3D热更新全书-何谓热更新,为何热更新,如何 ...

  6. python property

    python property 在2.6版本中,添加了一种新的类成员函数的访问方式--property. 原型 class property([fget[, fset[, fdel[, doc]]]] ...

  7. Qt create 配置git版本管理

    配置步骤: git的下载安装.(此时,您应该明白git和github的区别) 如下图1-5,Tool –> Options –> Version Control –> Git –&g ...

  8. xamarin UWP平台下 HUD 自定义弹窗

    在我的上一篇博客中我写了一个在xamarin的UWP平台下的自定义弹窗控件.在上篇文章中介绍了一种弹窗的写法,但在实际应用中发现了该方法的不足: 1.当弹窗出现后,我们拖动整个窗口大小的时候,弹窗的窗 ...

  9. SVN修改已提交版本的注释

    SVN提交文件后,发现注释写的不完整或不够明确,想再修改注释文字.通过View Project History dialog修改完成后,在提交时遇到如下错误:Repository has not be ...

  10. Oracle建表脚本记录

    --删除 drop table dianfei; --创建表 create table dianfei ( uon ) not null, mmonth ) not null, ddf ,) not ...