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

与后台交互方法一 ——Ajax

一、Ajax:为无刷新读取服务器端数据,常用在用户注册、在线聊天室等。

使用Ajax读取数据时有以下几点需要注意:

1.字符集编码前后台要一致,否则前台显示的数据为乱码。

2.使用随机数或时间清除缓存、阻止缓存,防止服务器端文件内容变化时,浏览器端没有及时更新。

3. Ajax读取的所有数据都是字符串,所以请求JSON文件时用eval解析。

4.Ajax读取的数据与扩展名无关。

5..用DOM创建元素

二、HTTP请求两种不同的方法:

Get方法一般用于获取数据,如浏览帖子。Get是在url里传数据:安全性低,容量小等。

Post方法一般用于上传数据,如用户注册。

三、创建Ajax对象:

高版本Ajax对象:XMLHttpRequest();

低版本(IE6-8)Ajax对象:ActiveXObject(“Microsoft.XMLHTTP”);

四、连接服务器方法:

Open(方法,文件名,异步传输)

五、请求状态监控:

Onreadystatechange事件

readyState属性:请求状态

0:未初始化,刚创建出来

1:发送,已调用send()方法,正在发送请求

2: 载入完成,shend()方法完成,已收到全部响应内容

3:解析,正在解析响应内容

4:完成,响应内容解析完成,可以在客户端调用了。

返回值为:responseText;

六、具体实现方式如下:

<html>

<head>

<meta charset="utf-8">

<meta name="author" content="" />

<meta name="copyright" content="" />

<title></title>

<style>

</style>

<script src="ajax.js"></script>

<script>

window.οnlοad=function ()

{

var oBtn=document.getElementById('btn1');

oBtn.οnclick=function ()

{

ajax('arr.txt', function (str){

var arr=eval(str);

alert(arr[0]);

//alert(str+12);

//alert(arr.length);

//alert(arr[0]);

});

};

};

</script>

</head>

<body>

<input type="button" value="aaa" id="btn1" />

</body>

</html>

Ajax.js

function ajax(url, fnSucc, fnFaild)

{

//1.创建Ajax对象

if(window.XMLHttpRequest)

{

var oAjax=new XMLHttpRequest();

}

else

{

var oAjax=new ActiveXObject("Microsoft.XMLHTTP");

}

//2.连接服务器(打开和服务器的连接)

oAjax.open('GET', url, true);

//3.发送

oAjax.send();

//4.接收

oAjax.onreadystatechange=function ()

{

if(oAjax.readyState==4)

{

if(oAjax.status==200)

{

//alert('成功了:'+oAjax.responseText);

fnSucc(oAjax.responseText);

}

else

{

//alert('失败了');

if(fnFaild)

{

fnFaild();

}

}

}

};

}

Arr.txt

[2013,9,9]

转载于:https://www.cnblogs.com/ygl-web/p/3309188.html

相关文章:

php复选框关联数据库字段,通过php将复选框中的多个值插入数据库

|我想将此表单值插入到datanase中&#xff1a;Brand 1Brand 2Brand 3Brand 4Brand 5这些文本框是通过php从数据库中的表中获取的&#xff0c;并且可能是Variable我想以这种格式插入数据库如果检查品牌1&#xff0c;则$ brand \“ 1&#xff0c;\”;最后像这样&#xff1a;inse…

WPF中的容器控件——Grid

网格布局 123123123123123123123123123123123123123123123123123123123123123123123123123123112312312312312312312312312312312312312312312312312312312312312312 123123实际应用中应该少不了网格布局&#xff0c;grid布局的特点&#xff1a; 1.每个grid中可以放多个控件&am…

h-hdparm打开关闭磁盘cache

查看磁盘型号 hdparm -I /dev/sde 查看磁盘缓存情况 hdparm -W /dev/sdb 打开或者关闭磁盘cache hdparm -W 0 /dev/sdb关闭 hdparm -W 1 /dev/sdb打开

linux diff 补丁文件夹,LINUX下制作补丁文件 diff,patch

diff(differential)功能说明&#xff1a;比较文件的差异。语  法&#xff1a;diff [-abBcdefHilnNpPqrstTuvwy][-;][-C ;][-D ;][-I ;][-S ;][-W ;][-x ;][-X ;][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]补充说明&#xff1a;diff以逐行的…

连通性2 无向图的双连通 bcc

待续。。。转载于:https://www.cnblogs.com/assult/p/3312457.html

网络规划设计培训与方案集下载

http://down.51cto.com/data/96887为OSPF城域网部署专题http://down.51cto.com/data/565799华为、H3C、神码等的一些关于网络规划设计的PPT资料&#xff0c;有技术性的&#xff0c;有理论的&#xff0c;有技术理论的。http://down.51cto.com/data/96885策略路由与路由策略原理培…

C语言标准库之strcat函数

2018-10-20C库函数strcat()函数的功能是实现字符串的拼接。其函数原型如下所示char *strcat(char *dest, const char *src) 1、参数说明 dest&#xff1a;指向目标数组&#xff0c;该目标包含看一个C字符串&#xff0c;且足够容纳追加之后的字符串。 src: 指向要追加的字…

设计模式——单例模式(Singleton)

保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点。——DP UML类图 模式说明 个人认为单例模式是所有设计模式中最为简单的一个模式&#xff0c;因为实现这个模式仅需一个类&#xff0c;而不像其他模式需要若干个类。这个模式中&#xff0c;需要注意的一点就是…

l-logger命令基本介绍

logger是一个shell命令接口&#xff0c;可以通过该接口使用Syslog的系统日志模块&#xff0c;还可以从命令行直接向系统日志文件写入一行信息 logger语法: 可以使用的相关命令 -d, --udp 使用数据报(UDP)而不是使用默认的流连接(TCP) -i, --id 逐行记录每一次logger的进程…

红旗linux可以做服务器吗,在红旗Linux中的E-MAIL服务器(postfix及dovecot)配置过程...

在红旗Linux中打开一个系统终端&#xff0c;使用纯文本方式配置邮件服务器&#xff1a;1、进入postfix服务(smtp服务&#xff0c;用来发送服务)配置文件目录&#xff1a;输入如下命令&#xff1a;cd /etc/postfix2、使用邮件服务器的模板配置文件main.cf.default覆盖原配置文件…

Spring Filter过滤器,Spring拦截未登录用户权限限制

实现的功能&#xff1a;判断用户是否已登录&#xff0c;未登录用户禁止访问任何页面或action&#xff0c;自动跳转到登录页面。 比较好的做法是不管什么人都不能直接访问jsp页面&#xff0c;要访问就通过action&#xff0c;这样就变成了一个实实在在的权限控制了。 那么就有3种…

NOIP模拟 蛋糕(DP+Dilworth定理)

QAQ 【题目分析】 谁能告诉我为什么我的网络流炸了吗。。。。。。。。&#xff08;我相信是SPJ的锅这年头暴力不好打啊&#xff09; 所以我们按x排序&#xff0c;然后就是要找到序列中严格上升序列的最少个数&#xff0c;然后。。。。duang。。。。Dilworth定理&#xff08;上升…

l-lsblk查看设备可用块设备

lsblk命令&#xff08;列出块设备&#xff09;用于列出所有可用的块设备的信息&#xff0c;但是&#xff0c; 它并没有列出有关的RAM磁盘的信息。块设备的例子是硬盘&#xff0c;闪存驱动器&#xff0c;CD-ROM等等,一般可以和blkid命令搭配,blkid可以查看更详细的磁盘信息&…

hdu 4720

最小覆盖圆的模板&#xff1b; 1 #include<stdio.h>2 #include<string.h>3 #include<math.h>4 struct Point5 {6 double x;7 double y;8 } pt[1005];9 struct Traingle10 {11 struct Point p[3];12 };13 struct Circle14 {15 struct Point c…

opencv可以在linux上运行,linux上 安装并 运行opencv

我是在树莓派上安装的。1.先安装依赖项OpenCV 2.2以后版本需要使用Cmake生成makefile文件&#xff0c;因此需要先安装cmake。sudo apt-get install build-essentialsudo apt-get install cmakesudo apt-get install libgtk2.0-devsudo apt-get install pkg-configsudo apt-get …

Calendar类点点滴滴积累

为什么80%的码农都做不了架构师&#xff1f;>>> set(f, value) 将日历字段 f 更改为 value。此外&#xff0c;它设置了一个内部成员变量&#xff0c;以指示日历字段 f 已经被更改。尽管日历字段 f 是立即更改的&#xff0c;但是直到下次调用 get()、getTime()、get…

3.3 栈的链式存储结构

<?php header("content-type:text/html;charsetutf-8"); /*** 栈的链式存储结构的基本操作**包括* 1.初始化 __contruct()* 2.进栈操作 push()* 3.出栈操作 pop()* 4.销毁栈 destroyStack()* 5.清空栈 clearStack()* 6.遍历栈 stackTraverse()*/ class Node{publ…

readelf 读取动态链接表命令

readelf -sV xxx 查看指定二进制文件运行时的加载库以及对应版本 并依据该命令可以修改某一二进制文件依赖的glibc库函数的版本&#xff0c;从而让改二进制程序可以运行在低版本的操作系统 readelf 读取链接表头 readelf -h xxx ELF文件介绍 ELF&#xff08;executable and …

[转]cocos2d-x

Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎&#xff0c;使用 C 开发&#xff0c;基于OpenGL ES&#xff0c;基于Cocos2d-iphone&#xff0c;支持 WOPhone, iOS 4.1, Android 2.1 及更高版本, WindowsXP & Windows7&#xff0c;WindowsPhone 8.[1]Cocos2d-x是一个开源的…

Linux哪个和Windows很像,Linuxfx - 这套Linux操作系统看起来和Windows 10非常类似

正如你在截图中所看到的那样&#xff0c;Linuxfx的外观和感觉与Windows 10非常类似&#xff0c;甚至还可以得到一个带有Windows开始按钮的开始菜单&#xff0c;然而&#xff0c;这个实际上可能是一个问题&#xff0c;因为微软可能不喜欢在另一个操作系统中看到它的Windows标志。…

OSPF工作原理

ospf工作原理链路状态路由协议open标准最短路径优先&#xff08;spf&#xff09;算法链路状态路由协议&#xff08;vs&#xff0c;距离矢量&#xff09;与rip的区别 rip是周期性更新&#xff08;30&#xff09;ospf 不发送完整的路由条目但是它发送链路状态的更新有不同的分…

第十八章 MySQL Workbench5.2使用(待续)

转载于:https://www.cnblogs.com/hzzjj/p/9826074.html

r-rpm常用命令集

rpm 安装rpm包 rpm -ivh xxx.rpm rpm -ivh --nodeps --force xxx.rpm强行安装&#xff0c;不考虑依赖性 rpm --nodeps --force -Uvh *同样强行安装&#xff0c;不考虑依赖性 查看一个文件夹属于那个rpm包 rpm -qf /path/filename 查看文件属于哪个rpm包 rpm -qf xxx.so …

MySQL-存储过程

我们常用的操作数据库语言SQL语句在执行的时候需要要先编译, 然后执行; 而存储过程&#xff08;Stored Procedure&#xff09;是一组为了完成特定功能的SQL语句集, 经编译后存储在数据库中, 用户通过指定存储过程的名字并给定参数&#xff08;如果该存储过程带有参数&#xff0…

查看linux虚拟机信息,虚拟机:Linux查看线程信息的步骤

1. 使用 pstree -p PIDps aux | grep firefox | grep -v grepcharles 26058 0.0 0.0 4908 1152 &#xff1f; S 19:17 0:00 /bin/sh /usr/lib/firefox-3.5.4/run-mozilla.sh /usr/lib/firefox-3.5.4/firefoxcharles 26073 7.6 3.4 284264 70164 &#xff1f; Sl 19:17 4:36 /us…

下载备忘:甘特图实现的代码

通过asp.net 代码&#xff0c;拼接字符串&#xff0c;实现甘特图。 样式和原型全部来源于jquery.ganttView插件&#xff0c; https://github.com/mbielanczuk/jQuery.Gantt 通过修改该代码&#xff0c;实现了可以调节高度&#xff0c;宽度等多种参数&#xff0c;具体看代码即可…

Spyder更改默认工作路径已经文件路径

打开spyder&#xff0c;选择菜单栏中的Tools--->Preferences--->Current working directory 然后选择最下面的单选按钮The following directory 。具体操作如下所示 更改文件存放路径 直接点击右上角的的文件夹图标 选择合适的路径即可&#xff1a; 希望能帮到你 转载…

mysql字段类型

数字类型 列类型 需要的存储量 范围、备注 TINYINT 1 个字节 一个很小的整数 有符号的范围是-128到127&#xff0c;无符号的范围是0到255 SMALLINT 2 个字节 一个比较小的整数 有符号的范围是-32768到32767&#xff0c;无符号的范围是0到65535 MEDIUMINT 3 个字节 一…

s-sed替换或者修改文件指定行,同时匹配多个字符串,替换换行符为指定字符

最近需要在脚本中修改几个配置文件参数且不能影响其他参数&#xff0c;于是想到了sed的强大之处&#xff0c;拿来学学 -i参数表示直接替换并修改文件 -i参数时直接修改文件 sed -i s/aaa/bbb/g testfile 将testfile文件中的aaa替换为bbb字符串 删除文件指定行或者某行内容 sed…

linux中非法内存,Linux下数组非法访问导致内存破坏 —— 引发segmentation fault的原因...

2012-02-05 wcdj1, 调试时必需的栈知识2, 数组非法访问导致内存破坏调试时必需的栈知识栈(stack)是程序存放数据的内存区域之一&#xff0c;其特征是LIFO(Last In First Out, 后进先出)式数据结构&#xff0c;即后放进的数据最先备取出。向栈中存储数据的操作称为PUSH(压入)&am…