当前位置: 首页 > 编程日记 > 正文

AJAX 简介

什么是 AJAX ?

AJAX = 异步 JavaScript 和 XML。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

AJAX 实例解释

上面的 AJAX 应用程序包含一个 div 和一个按钮。

div 部分用于显示来自服务器的信息。当按钮被点击时,它负责调用名为 loadXMLDoc() 的函数:

<html>
<body><div id="myDiv"><h3>Let AJAX change this text</h3></div>
<button type="button" οnclick="loadXMLDoc()">Change Content</button></body>
</html>

接下来,在页面的 head 部分添加一个 <script> 标签。该标签中包含了这个 loadXMLDoc() 函数:

<head>
<script type="text/javascript">
function loadXMLDoc()
{
.... AJAX script goes here ...
}
</script>
</head>

下面的是我在开发农业信息平台项目时候所使用的一些 AJAX 的工作原理代码。

 1    <script language="javascript" type="text/javascript">
 2 
 3         function chg() {
 4             if ($("#sel").val() == "FPhone") {
 5                 //             $("#FPhone").focus(function () {
 6                 //                 $("#FPhone").val("");
 7                 //             });
 8                 //             $("#FPhone").blur(function () {
 9                 //                 $("#FPhone").val("请输入手机号码");
10                 //             });
11 
12                 $("#FPhone").show();
13                 $("#FMail").hide();                    //  var o = document.form1.sel;
14            //     $("#FMail").val() = "";
15                 $("#FSafeQuestion").hide();
16           //      $("#FSafeQuestion").val() = "";
17                 $("#key").hide();
18           //      $("#key").val() = "";
19             }
20             else if ($("#sel").val() == "FMail") {
21 
22                 //             $("#FMail").focus(function () {
23                 //                 $("#FMail").val("");
24                 //             });
25                 //             $("#FMail").blur(function () {
26                 //                 $("#FMail").val("请输入电子邮箱"); //请输入电子邮箱
27                 //             });
28                 $("#FMail").show();
29                 $("#FPhone").hide();
30              //   $("#FPhone").val() = null;
31                 $("#FSafeQuestion").hide();
32             //    $("#FSafeQuestion").val() = null;
33                 $("#key").hide();
34             //    $("#key").val() = null;
35             }
36             else {
37                 $("#FSafeQuestion").show();
38                 $("#key").show();
39                 $("#FPhone").hide();
40              //   $("#FPhone").val() = null;
41                 $("#FMail").hide();
42              //   $("#FMail").val() = null;
43             }
44         }
45 //        $(function () {
46 //            $("#submit").click(function () {
47 //                if ("@ViewBag.ErrorMsg1" != "") {
48 //                    $('#trErrorMsg').hide();
49 //                    alert("'@ViewBag.ErrorMsg1'");
50 //                } //错误提示放哪儿? 阻挡不住验证的效果!
51 //                else if ("@ViewBag.ErrorMsg2" != "") {
52 //                    alert("'@ViewBag.ErrorMsg2'");
53 //                }
54 //                else {
55 //                    // alert("该手机号码已存在!");
56 //                    return alert("该手机号码已存在!");
57 //                    
58 //                }
59 //                //  return true;
60 //            });
61 //        });
62 //        function check() {
63 //            
64 //   
65 //            alert("'@ViewBag.ErrorMsg'");
66 //        }
67     </script>


这里的ajax是用于对输入框的显示和隐藏操作:

                                               <!--找回密码的方式--><tr><td height="22" align="right" class="grey_font_style2"><select class="wd" id="sel" οnchange="chg()" size="1" style="font-family: Verdana,Arial;font-size: 10pt;"><option value="FPhone">电话号码</option><option value="FMail">电子邮箱</option><option value="FSafeQuestion">安全问题</option></select><td height="22" align="right" class="grey_font_style2" id="change"><input type="text" value="" name="FPhone" id="FPhone" size="1" style="font-family: Verdana,Arial;font-size: 10pt font-color: #CCC" class="wd2" /><input type="text" value="" name="FMail" id="FMail" style="display: none; font-family: Verdana,Arial;font-size: 10pt;" class="wd2" /><select name="FSafeQuestion" id="FSafeQuestion" size="1" style="display: none; font-family: Verdana,Arial;font-size: 10pt;" class="wd2"><option value="" selected="selected">请选择</option><option value="我的小学名字">我的小学名字?</option><option value="我妈妈的名字">我妈妈的名字?</option><option value="我最难忘的日子">我最难忘的日子?</option><option value="我的学号或(工号)是">我的学号或(工号)是?</option><option value="我配偶的姓名是">我配偶的姓名是?</option><option value="我最喜欢的休闲运动是">我最喜欢的休闲运动是?</option><option value="我最喜欢的歌曲">我最喜欢的歌曲?</option><option value="我最喜爱的电影">我最喜爱的电影?</option><option value="自己编写问题">自己编写问题?</option></select></td></td></tr>

下面是对回答问题的输入框操作:(这些操作都是在前台页面上进行)

  <tr id="key" style="display: none;"><td align="right"><span class="register_mid_font_red"></span>你的答案是:</td><td><input type="text" value="" name="FSafeAnswer" id="FSafeAnswer" style="font-family: Verdana,Arial;font-size: 10pt;" class="wd2" /></td></tr>


以上就是我第一次使用ajax时候的相关笔记和相关代码。

转载于:https://www.cnblogs.com/softmans/p/ajax.html

相关文章:

c4d跟踪特效合成视频教程 Master Motion Tracking with Cinema 4D

c4d跟踪特效合成视频教程 Master Motion Tracking with Cinema 4D MP4 |视频&#xff1a;h264&#xff0c;1280720 |音频&#xff1a;aac&#xff0c;48000 Hz 语言&#xff1a;英语机译中文字幕 |尺寸&#xff1a;4.9 GB |持续时间&#xff1a;5小时2分钟 你将学到什么 百度…

[转]Getting Start With Node.JS Tools For Visual Studio

本文转自&#xff1a;http://www.c-sharpcorner.com/UploadFile/g_arora/getting-started-with-node-js-tools-for-visual-studio/ Table of contents 1. Introduction 2. What Node.JS is 3. How to install Node.JS 4. Lets Start by Creation of a Simple App Pre-requites…

Java学习总结:16

匿名内部类 匿名内部类指的是没有名字的内部类&#xff0c;其必须在抽象类或接口基础上才可以定义。 例&#xff1a;采用匿名内部类简化类的定义 interface Message{ //定义接口public void print(); } public class Test1_1_4_9 {public static void main(String args[]){fu…

Java 多线程概述

多线程技术概述 1.线程与进程 进程&#xff1a;内存中运行的应用程序&#xff0c;每个进程都拥有一个独立的内存空间。线程&#xff1a;是进程中的一个执行路径&#xff0c;共享一个内存空间&#xff0c;线程之间可以自由切换、并发执行&#xff0c;一个进程最少有一个线程&am…

nginx图片过滤处理模块http_image_filter_module安装配置笔记

http_image_filter_module是nginx提供的集成图片处理模块&#xff0c;支持nginx-0.7.54以后的版本&#xff0c;在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可&#xff0c;就可以用它实时缩放图片&#xff0c;旋转图片&#xff0c;验证图片有效性以及获取图片宽…

Centos7 安装 telnet 服务

准备写一个 django-webtelnet&#xff08;运维管理系统集成后管理网络设备&#xff09;&#xff0c;但是手边没有现成的网络设备资源可以测试&#xff0c;那就研究下 Centos7 下安装 telnet-server 吧。 安装 yum -y install xinetd telnet telnet-server telnet-server 是以 x…

Zbrush制作手榴弹案例讲解学习教程

Sculpting In Zbrush- Project Grenade! MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:44节课(11h 43m) |大小解压后:11 GB 含课程素材 云桥网络…

Winform控件缩写

控件名称 缩写 Buttom按钮 Btn CheckBox复选框 Chk ColumnHeader视图列表头 Col ComboBox组合框 Cbo ContextMenu快捷菜单 Ctm DataGrid数据网格控件 Dg DataGridView数据网格视图控件 Dgv DteTimePicker时间输入框 Dtp DomainUpDown数值框 Dud Form窗体 …

Java习题:1

假设类X是类Y的父类&#xff0c;下列声明对象x的语句中不正确的是( )。 A.X xnew X(); B.X xnew Y(); C.Y xnew Y(); D.Y xnew X(); 答案&#xff1a;D 向下转型操作本身是有前提条件的&#xff0c;必须发生向上转型后才可以发生向下转型。 各个选项的代码实现&#xff1a; …

2022-2028年中国廉价航空行业深度调研及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国廉价航空行业市场行业相关概述、中国廉价航空行业市场行业运行环境、分析了中国廉价航空行…

【SSRS】入门篇(二) -- 建立数据源

原文:【SSRS】入门篇(二) -- 建立数据源通过 【SSRS】入门篇(一) -- 创建SSRS项目 这篇&#xff0c;我们建立了一个SSRS项目&#xff1b; 接下来&#xff0c;我们以 AdventureWorks2012 示例数据库&#xff0c;讲下如何建立数据源&#xff1b;(AdventureWorks2012 下载) 1、解决…

k8s相关的面试题

k8s相关的面试题 https://blog.csdn.net/huakai_sun/article/details/82378856 posted on 2019-07-30 20:33 竹径风声 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/girl1314/p/11272568.html

CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset

CG游戏道具全流程制作视频教程 Artstation – Stylized Game Asset 时长&#xff1a;9h 30m 含项目文件 1920X1080 MP4 语言&#xff1a;英语机译中文字幕 教程大小&#xff1a;4G 标题&#xff1a;Artstation–风格化游戏资产 云桥网络 获qu 教程 信息&#xff1a; 内容&a…

Java学习总结:17

包及访问控制权限 包的定义 在Java中使用package关键字来定义包&#xff0c;此语句必须写在xxx.java文件的首行。 例&#xff1a;定义包 package com.study.Demo; //定义程序所在包&#xff0c;此语句必须放在首行public class Hello {public static void main(String args[…

常用的网络配置命令 ifconfig 所在的包

通过rpm的数据库反查 ifconfig这个可执行文件的提供者&#xff0c;得出这个文件属于一个叫 net-tools 的包 转载于:https://www.cnblogs.com/vanwoos/p/4987375.html

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心…

'libxml/tree.h' file not found

本文转载至 http://www.cnblogs.com/hanjun/p/3711173.html 看看Header Search Paths 为 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/include/libxml2 看看Base SDK 为 ios 6.1 于是把Header Search Paths 该…

Spring Cloud 微服务实战笔记

Spring Cloud 微服务实战笔记 微服务知识 传统开发所有业务逻辑都在一个应用中, 开发&#xff0c;测试&#xff0c;部署随着需求增加会不断为单个项目增加不同业务模块&#xff1b;前端展现也不局限于html视图模板的形式,后端向前端支持需要更多的接口模块。 随着需求增多&…

UE商城资源 Kitsune狐狸女孩

Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Kitsune 4.26狐狸女孩 大小解压后&#xff1a;569M 可爱的Kitsune的3D模型。装配到史诗骷髅。完全模块化&#xff0c;包括无衣服的身体。包含不同的发型。通过材质实例轻松改变颜色。包含与Live Link Face应用程…

Java学习总结:18

认识异常 异常是程序中导致程序中断的一种指令流。 例&#xff1a;产生异常 package com.study.Demo;public class Test1 {public static void main(String args[]){System.out.println("1.除法计算开始");System.out.println("2.除法计算&#xff1a;"(…

java从字符串中提取数字

1、做一下操作时会一般会用到提取数字操纵&#xff1a; a、列表中有翻页&#xff0c;当新添加的数据不是放在第一条或者最后一条时&#xff0c;需要翻页并循环找到对应的那条数据 b、当新添加的数据放在第一条或者最后一条时&#xff0c;则不需要翻页&#xff0c;只需要直接进入…

2022-2028年中国联合办公行业深度调研及投资前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国联合办公行行业市场行业相关概述、中国联合办公行行业市场行业运行环境、分析了中国联合办…

iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】

iBatis的sqlMap配置文件的selectKey元素有个type属性&#xff0c;可以指定pre或者post表示前生成(pre)还是后生成(post)。 Oracle设置 Xml代码 <!-- Oracle SEQUENCE --> <insert id"insertProduct-ORACLE" parameterClass"com.domain.Product&quo…

微信小程序----调用用户信息

在对应的文件夹里面的js里面添加代码&#xff0c;例如&#xff1a;index.js 代码开始/// onLoad: function () {var that this// 查看是否授权wx.getSetting({success(res) {if (res.authSetting[scope.userInfo]) {// 已经授权&#xff0c;可以直接调用 getUserInfo 获取头像…

在Blender中创建真实的汽车CGI视觉动画效果

Blender VFX Tutorial Rig & Animate a Realistic Car in Real 大小&#xff1a;1.18G 时长1h 包含项目文件 1280X720 MP4 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; Blender VFX教程绑定&动画真实的汽车 云桥网络 平台获取教程…

Java学习总结:19

throws关键字 throws关键字主要在方法定义上使用&#xff0c;表示此方法中不进行异常的处理&#xff0c;而是交给被调用处处理。 例&#xff1a;使用throws package com.study.Demo;class MyMath{public static int div(int x,int y)throws Exception{ //此方法不处理异常re…

C语言访问网页

一、理论 http://www.zixue7.com/thread-3860-1-1.html转载于:https://www.cnblogs.com/274914765qq/p/4996433.html

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版: /dl/zentao/docker/docker_zentao.zip 备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROO…

获取指定日期之间的各个周和月

2019独角兽企业重金招聘Python工程师标准>>> 日志格式化类 Date.class.php <?php class Datefmt{function __construct() {}/*** 根据指定日期获取所在周的起始时间和结束时间*/public function get_weekinfo_by_date($date) {$idx strftime("%u", s…

nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping

今天mybatis报了个错误 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{propertyInfoId, modeIN, javaTypeclass java.lang.Long, jdbcTypenull, numericSca…