使用Ajax的目的就是提高页面响应速度,无需同步调用,无需整个页面刷新。这里直接在html中使用js来实现:

先获取XMLHttpRequest对象

    var xmlHttp;

    //创建一个xmlHttpRequest对象
window.onload = function createxmlHttp() {
try {
//尝试创建 xmlHttpRequest 对象,除 IE 外的浏览器都支持这个方法。  
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
//使用较新版本的 IE 创建 IE 兼容的对象(Msxml2.xmlHttp)。  
xmlHttp = ActiveXObject("Msxml12.XMLHTTP");
} catch (e1) {
try {
//使用较老版本的 IE 创建 IE 兼容的对象(Microsoft.xmlHttp)。  
xmlHttp = ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
flag = false;
}
}
} //判断是否成功的例子:  
if (!xmlHttp) {
alert("creat XMLHttpRequest Object failed.");
}
}

  这里xmlHttp作为一个js的全家变量,后续方法需要用到。再看下怎么异步调用get方式的http请求:

    //调用http接口获取接口内容
function getMethodContent(method) {
url = "/getMethod/" + method;
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = showContent;
document.getElementById("interfaceName").value = method; //将接口名放入html指定div中
xmlHttp.send();
} //回调函数,显示http响应结果
function showContent() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var text = xmlHttp.responseText; //这里获得服务器返回的数据
document.getElementById("interfaceBody").innerHTML = text; //将数据放入html指定div中
} else {
alert("response error code:" + xmlHttp.status);
}
}
}

  

  这里通过回调函数showContent来局部刷新interfaceName和interfaceBody的值。

  post的方式:

    //新增、编辑接口
function generateInterfaceEntity() {
url = "/editMethod/" + document.getElementById("interfaceName").value;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-type",
"application/json;charset=UTF-8");
xmlHttp.onreadystatechange = showActionResult;
xmlHttp.send(document.getElementById("interfaceBody").innerHTML);
} //回调函数,显示action操作结果,刷新页面
function showActionResult() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
alert("operation success!");
window.location.reload();
} else {
alert("operation failed! response error code:" + xmlHttp.status);
}
}
}

  这里在新增、编辑后提示操作成功,接口通过reload来刷新整个页面。完整页面参见spring mvc+velocity使用里的页面代码。

Ajax异步调用http接口后刷新页面的更多相关文章

  1. <asp:TextBox><asp:LinkButton><input button>调用后台方法后刷新页面

    <asp:TextBox><asp:LinkButton>服务器控件,执行后台方法,会回调加载js,相当于页面重新加载,刷新页面 <input button>不能直 ...

  2. jquery中ajax异步调用接口

    之前写过一个原始的.无封装的页面,没有引入任何外部js,直接实例化Ajax的XmlRequest对象去异步调用接口,参见Ajax异步调用http接口后刷新页面,可对比一下. 现在我们用jquery包装 ...

  3. Ajax请求数据与删除数据后刷新页面

    1.ajax异步请求数据后填入模态框 请求数据的按钮(HTML) <a class="queryA" href="javascript:void(0)" ...

  4. jquery ajax异步调用

    写程序的第一步都要知其然,至于知其所以然就要看个人的爱好了.下面说一下web开发中经常用的ajax. 这里是用的jquery框架实现的ajax异步调用.废话少说先上代码.(asp.net开发) var ...

  5. response 后刷新页面,点击按钮后,禁用该按钮

    一,正常的点击按钮后,将其灰显,全部执行完毕再正常显示. this.btnSave.Attributes.Add("onclick", "if (typeof(Page_ ...

  6. 实现简单的PHP接口,以及使用js/jquery ajax技术调用此接口

    主要介绍下如何编写简单的php接口,以及使用js/jquery的ajax技术调用此接口. Php接口文件(check.php): <?php $jsonp_supporter = $_GET[‘ ...

  7. ajax的分页查询(不刷新页面)

    既然是分页查询,那么就要有张数据很多的表,可以让它进行分页显示,用普通的方法进行分页查询必然是要刷新页面的,这里要实现不刷新页面进行分页显示数据,就要用到ajax方式.进行编写代码 (1)先写个显示数 ...

  8. [转] 为什么javascript是单线程的却能让AJAX异步调用?

    为什么JavaScript是单线程的却能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的? function foo() { console.log( 'first' ); ...

  9. 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法(转载)

    在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...

随机推荐

  1. Nginx Rewrite 规则入门 伪静态规则

    文件及目录匹配: -f 和 !-f 用来判断是否存在文件 -d 和 !-d 用来判断是否存在目录 -e 和 !-e 用来判断是否存在文件或目录 -x 和 !-x 用来判断文件是否可执行 正则表达式匹配 ...

  2. Android中APK安装过程及原理解析

    [原文] 来自华为内部资料 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作.APK是Android Package的缩写,即android安装包 ...

  3. thinkphp Composer安装指南

    1.首先我们去composer的官网下载composer,当然也可以用命令行的形势下下载,我是在windows安装的.https://www.phpcomposer.com/ 2.下载以后进行安装,一 ...

  4. dataframe 列名重新排序

    在用list包含多个dict的模式生成dataframe时,由于dict的无序性,而uci很多数据的特征名直接是1,2,3...,生成的dataframe和原生的不一样, 为了方便观看和使用,我们将其 ...

  5. glance cache

    用在多个glance API server 中,对相同的image文件提供服务.该cache对用户透明. 配置文件有一个image_cache_max_size,超过的话image cache会被修剪 ...

  6. Linux命令详解-cd

    Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧.     ...

  7. CodeForces - 197D

    开场连wa三发A题,差点心态崩了,还好坚持打完了,一共A了三题 A题,判断能不能放第一个圆,能放的话,先手比赢 #include<map> #include<set> #inc ...

  8. Win7性能选项

    1. 性能选项:只保留勾选下面的即可. 2. 隐藏explorer导航栏的“库”列表 HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C ...

  9. Dubbo定义及其作用

    Dubbo定义 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只 ...

  10. JS前端重点 -- Generator 函数的含义与用法

    Generator 函数的含义与用法 1.generator http://www.ruanyifeng.com/blog/2015/04/generator.html http://it.taocm ...