异步ajax调用

合集下载

layui-tree实现Ajax异步请求后动态添加节点的方法

layui-tree实现Ajax异步请求后动态添加节点的方法

layui-tree实现Ajax异步请求后动态添加节点的⽅法最近在弄⼀个产品分类管理,是⼀个树形菜单的形式,⽤的是layui-tree ,由于它并没有动态添加节点,所以只能⾃⼰刚了。

⼤概效果如图体的实现是当我⿏标移⼊“长袖”这个分类时,出现三个icon (如图),按“增加”按钮,会发送ajax异步请求到后台,在数据库库中增加以“长袖”为⽗类id 的⼀个⼦分类,成功后返回到前台,然后相应的节点下动态添加⼦节点,主要是通过append 来增加html元素<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>多级分类管理</title><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="format-detection" content="telephone=no"><link rel="stylesheet" type="text/css"href="layui/css/layui.css" rel="external nofollow" media="all"></head><style>.panel {margin-bottom: 0;}i{cursor: pointer !important ;cursor: hand !important;}body{}a:hover{background-color:#E6E6E6 ;}.active{background:#E6E6E6;}.hide{display:none;}</style><body style="height:100%;"><div style="height:100%;"><div class="panel panel-default"style=" position:fixed; width: 250px; height:800px; overflow:auto;"><div class="panel-body" style=" "><h4 style="text-align: center;">分类管理</h4><ul unselectable="on" id="demo"style="margin-top: 30px; -moz-user-select: none; -webkit-user-select: none;"onselectstart="return false;" ></ul><button id="addcate" class="layui-btn layui-btn-primary" style="margin-top:20px; margin-left:28px; width:70%;">添加分类</button></div></div></div><script type="text/javascript" src="layui/layui.js"></script><script type="text/javascript">e(['jquery','layer','element','form','tree'],function(){window.jQuery = window.$ = layui.jquery;yer = yer;var form = layui.form;var elem = layui.element;var topcateid=0; //为模拟顶级分类id⽤//初始化layer.treevar tree = layui.tree({elem: '#demo',nodes:[] //这⾥可以通过后台获取(如ThinkPHP框架则可以通过后台拼接好,再⽣成模板变量类似{$tree}就可以)});window.onload=function(){//删除layui-tree ⾃带的样式$("yui-tree-branch").remove();$("yui-tree-leaf").remove();//添加操作的图标(即⿏标划过时显⽰的添加,修改,删除的按钮组)$("ul#demo").find("a").after("<i class='layui-icon add select hide ' )'> </i>"+"<i class='layui-icon edit select hide'> </i>"+"<i class='layui-icon del select hide'> </i>");}//添加顶级分类$("#addcate").on("click",function(){layer.prompt({title: '输⼊分类名称,并确认', formType:0}, function(text, index){layer.close(index);//TODO 可以ajax到后台操作,这⾥只做模拟layer.load(2);setTimeout(function(){layer.closeAll("loading");//⼿动添加节点,肯定有更好的⽅法=.=!这⾥的⽅法感觉有点LOW// li⾥⾯的pid属性为⽗级类⽬的id,顶级分类的pid为0topcateid= topcateid+1;$("ul#demo").append("<li pid='0' id="+(topcateid)+">"+"<a ><cite>"+text+"</cite> </a>"+"<i class='layui-icon select hide add'> </i>"+"<i class='layui-icon edit select hide'> </i>"+"<i class='layui-icon del select hide'> </i>"+"</li>");},1000)});})//显⽰/隐藏分类的操作栏$("ul#demo").on({mouseover: function(event) {event.stopPropagation();$(this).children(".select").removeClass("hide")},mouseout: function(event) {event.stopPropagation();$(this).children(".select").addClass("hide")},},"li","a")//添加⼦分类$("ul#demo ").on("click","li .add",function(){var pid = $(this).closest("li").attr("id");//将⽗级类⽬的id作为⽗类idvar that= $(this).closest("li");layer.prompt({title: '输⼊⼦分类名称,并确认', formType:0}, function(text, index){layer.close(index);//TODO 可以ajax到后台操作,这⾥只做模拟layer.load(2);setTimeout(function(){layer.closeAll("loading");topcateid= topcateid+1;if(that.children("ul").length == 0){//表⽰要新增 i 以及 ul 标签that.prepend('<i class="layui-icon layui-tree-spread"> </i>')that.append("<ul class='layui-show'><li pid="+pid+" id="+(topcateid)+"><a ><cite>"+text+"</cite> </a><i class='layui-icon select hide add' )'> </i> <i class='layui-icon edit select hide'> </i> <i class='layui-icon del select hide'> </i></li></ul>") }else{that.children("ul").append("<li pid="+pid+" id="+(topcateid)+"><a ><cite>"+text+"</cite> </a><i class='layui-icon select hide add' )'> </i> <i class='layui-icon edit select hide'> </i> <i class='layui-icon del select hide'> </i></li>");}},1000)});})//重命名$("ul#demo ").on("click","li .edit",function(){var node=$(this).parent().children("a").children("cite");var id=$(this).parent().attr("id")var that= $(this).closest("li");layer.prompt({title: '输⼊新的分类名称,并确认',value:node.text(), formType:0}, function(text, index){layer.close(index);//TODO 可以ajax到后台操作,这⾥只做模拟layer.load(2);setTimeout(function(){layer.closeAll("loading");node.text(text);},1000)});})//删除分类$("ul#demo ").on("click","li .del",function(){var that= $(this).closest("li");if(that.children("ul").length > 0){layer.msg("该分类下含有⼦分类不能删除")return;}var id=$(this).parent().attr("id")layer.confirm('确定要删除?该分类下的课程亦将删除!', {btn: ['删除','取消']}, function(){//TODO 可以ajax到后台操作,这⾥只做模拟layer.load(2);setTimeout(function(){layer.closeAll("loading");if((that.parent("ul").children("li").length == 1)&&(that.parent("ul").parent("li").children("yui-tree-spread").length=1)){//要把分类名前的三⾓符号和ul标签删除that.parent("ul").parent("li").children("yui-tree-spread").remove();}that.remove()},1000)});})//打开/关闭菜单$("ul#demo").on({click:function(event){event.stopPropagation();event.preventDefault();if( $(this).parent().children("ul").hasClass("layui-show")){$(this).html(" ");$(this).parent().children("ul").removeClass("layui-show");return;}else{$(this).html(" ");$(this).parent().children("ul").addClass("layui-show");return;}return;}}, 'yui-tree-spread');});</script></body></html>以上这篇layui-tree实现Ajax异步请求后动态添加节点的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

zepto中发送异步ajax请求的步骤

zepto中发送异步ajax请求的步骤

Zepto是一个轻量级的JavaScript库,它的API和jQuery非常相似,用于在现代浏览器上实现快速的DOM 操作和Ajax请求。

在Zepto中发送异步Ajax请求的基本步骤如下:引入Zepto库:首先,你需要在你的HTML文件中引入Zepto库。

你可以从Zepto的官方网站下载库文件,然后在你的HTML文件中使用<script>标签引入。

html复制代码<script src="path/to/zepto.min.js"></script>创建Ajax请求:使用Zepto的$.ajax()方法来创建异步Ajax请求。

这个方法接受一个包含请求设置的对象作为参数。

javascript复制代码$.ajax({url: 'your/api/url', // 请求的URLtype: 'GET', // 请求方法,可以是'GET'、'POST'等dataType: 'json', // 期望的返回数据类型success: function(data) {// 请求成功时的回调函数console.log(data);},error: function(error) {// 请求失败时的回调函数console.error(error);}});1.处理响应:在success回调函数中处理服务器返回的响应数据。

在上面的例子中,我们简单地将数据打印到控制台。

2.处理错误:在error回调函数中处理请求失败的情况。

你可以在这里添加一些错误处理的逻辑。

除了$.ajax()方法,Zepto还提供了其他一些简化Ajax请求的方法,如$.get()、$.post()等。

这些方法的使用方式和$.ajax()类似,但更加简洁。

例如,使用$.get()方法发送一个GET请求:javascript复制代码$.get('your/api/url', function(data) {console.log(data);});或者,使用$.post()方法发送一个POST请求:javascript复制代码$.post('your/api/url', { key1: 'value1', key2: 'value2' }, function(data) {console.log(data);});这些简化方法会自动设置请求的类型和回调函数,让代码更加简洁易读。

layui中ajax的用法

layui中ajax的用法

layui中ajax的用法Layui是一款轻量级的前端UI框架,它以简洁、易用的设计风格受到广泛关注。

在Layui中,ajax是一种常用的数据交互方式,它可以让网页与后端服务器进行通信,获取或提交数据。

本文将详细介绍Layui中ajax的用法。

一、ajax概述ajax的全称是AsynchronousJavaScriptandXML(异步的JavaScript和XML),它是一种使用JavaScript和XML来与服务器进行通信的技术。

通过ajax,网页可以异步地向服务器请求数据,并在不刷新页面的情况下更新网页的内容。

这种技术可以大大提高网页的交互性和用户体验。

在Layui中,ajax的使用方法与其他JavaScript框架类似,主要包括以下步骤:1.引入Layui的ajax模块首先,需要在HTML文件中引入Layui的ajax模块,以便可以使用其中的功能。

可以在HTML文件的头部引入以下代码:<scriptsrc="/path/to/layui/layui.js"></script>2.创建ajax请求使用Layui的ajax模块,可以很方便地创建ajax请求。

可以使用以下代码创建一个GET请求:e('ajax',function(){varajax=layui.ajax;ajax.get({url:'/path/to/api',//后端服务器的API地址{//发送给服务器的数据key1:value1,key2:value2},success:function(response){//请求成功的回调函数console.log(response);//打印服务器的响应数据},error:function(error){//请求失败的回调函数console.log(error);//打印错误信息}});});3.处理服务器响应当ajax请求成功时,服务器会返回响应数据。

jQuery调用AJAX异步操作超清晰教程

jQuery调用AJAX异步操作超清晰教程

JQUERY AJAX异步操作详细说明AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和XML)。

它并非一种新的技术,而是以下几种原有技术的结合体。

1)使用CSS和XHTML来表示。

2)使用DOM模型来交互和动态显示。

3)使用XMLHttpRequest来和服务器进行异步通信。

4)使用javascript来绑定和调用。

通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请求(Request)/应答(Response)模型:1)不需要用户等待服务端响应。

在异步派发XMLHttpRequest请求后控制权马上就被返回到浏览器。

界面不会出现白板,在得到服务器响应之前还可以友好的给出一个加载提示。

2)不需要重新加载整个页面。

为XMLHttpRequest注册一个回调函数,待服务器响应到达时,触发回调函数,并且传递所需的少量数据。

“按需取数据”也降低了服务器的压力。

3)不需要使用隐藏或内嵌的框架。

在XHR对象之前,模拟Ajax通信通常使用hack手段,如使用隐藏的或内嵌的框架(<iframe>标签)。

下面介绍下AJAX中的重要对象:XMLHttpRequest。

XMLHttpRequest对象(XHR)XMLHttpRequest是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或接收XML及其他数据的一套API。

XMLHttpRequest对象首次以ActiveX对象形式在微软Internet Explorer(IE) 5中以引入。

其他浏览器制造商在认识到这一对象重要性后也纷纷实现了XMLHttpRequest对象,但是以一个本地JavaScript对象而不是作为一个ActiveX 对象实现。

而如今,由于安全性、标准等问题,微软已经在其IE 7中把XMLHttpRequest实现为一个本地JavaScript对象。

layui实现数据表格table分页功能(ajax异步)

layui实现数据表格table分页功能(ajax异步)

layui实现数据表格table分页功能(ajax异步)layui实现数据表格table分页功能,异步加载,表格渲染,含条件查询。

⼀、引⼊layUI的相关资源<link rel="stylesheet" href="${ctxPath}/vendor/layui/css/layui.css" ><script src="${ctxPath}/vender/layui/layui.js" charset="utf-8"></script>⼆、html页⾯代码搜索表单:<div class="layui-row"><form class="layui-form layui-col-md12 we-search">项⽬搜索:<div class="layui-inline"><input type="text" name="projectName" id="projectName" placeholder="项⽬名称" autocomplete="off" class="layui-input"></div><div class="layui-input-inline"><select name="businessOperatorId" id="businessOperatorId" lay-verify="" lay-search><option value="">业务员</option></select></div><div class="layui-input-inline"><select name="mftRepresentativeId" id="mftRepresentativeId" lay-verify="" lay-search><option value="">⼚家代表</option></select></div><div class="layui-input-inline"><select name="channelId" id="channelId" lay-search><option value="">渠道</option></select></div><div class="layui-input-inline"><select name="customerId" id="customerId" lay-search><option value="">客户</option></select></div><div class="layui-input-inline"><select name="projectPhase" id="projectPhase" lay-search><option value="">项⽬阶段</option></select></div><div class="layui-input-inline"><select name="goodsCondition" id="goodsCondition" lay-search><option value="">货物情况</option></select></div><div class="layui-input-inline"><select name="implementCondition" id="implementCondition" lay-search><option value="">实施情况</option></select></div><div class="layui-input-inline"><select name="payCondition" id="payCondition" lay-search><option value="">收款情况</option></select></div><div class="layui-inline"><input class="layui-input" placeholder="开项时间" name="startTime" id="startTime"></div><div class="layui-inline"><input class="layui-input" placeholder="结项时间" name="endTime" id="endTime"></div><button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button></form></div>数据表格:<table class="layui-hide" id="projectList" lay-filter="projectList"></table>三、后台接收分页参数以及查询条件,获取并返回数据主要注意下:page: 前台分页插件传⼊的当前页数,limit: 前台分页插件传⼊的每页个数,projectInfo :接收前台传⼊的查询条件的实体jsonResult :后台返回的相关数据的响应实体@ResponseBody@RequestMapping("/project/list")public JsonResult list(@RequestParam("page") Integer page, @RequestParam("limit") Integer size, ProjectInfoEntity projectInfo){ JsonResult jsonResult = projectService.getProjectList(page,size,projectInfo);return jsonResult;}后台响应类必须包含code与count字段,因为前台layui会⾃动获取⾃定义后台数据响应实体 JsonResult:package mon.util;/*** JSON结果响应**/@Datapublic class JsonResult {private static final String SUCCESS = "成功";private static final String ERROR = "失败";/*** 响应状态code,因为前台layui默认0为响应成功,所以此处默认为0*/private Integer code = 0;/*** 数据总条数*/private Long count = 0L;/*** 返回是否成功*/private Boolean result = false;/*** 返回提⽰信息*/private String msg = "";/*** 返回数据信息*/private Object data;private JsonResult() {}/*** 成功的响应** @return*/public static JsonResult success() {return result(true, SUCCESS, null,null);}public static JsonResult success(String msg) {return result(true, msg, null,null);}public static JsonResult success(Object data) {return result(true, SUCCESS, data,null);}public static JsonResult success(Object data,Long count) {return result(true, SUCCESS, data,count);}public static JsonResult success(String msg, Object data) {return result(true, msg, data,null);}public static JsonResult success(String msg, Object data,Long count) {return result(true, msg, data,count);}/*** 失败的响应** @return*/public static JsonResult error() {return result(false, ERROR, null,null);}public static JsonResult error(String msg) {return result(false, msg, null,null);}public static JsonResult error(Object data) {return result(false, ERROR, data,null);}public static JsonResult error(Object data,Long count) {return result(false, ERROR, data,count);}public static JsonResult error(String msg, Object data) {return result(false, msg, data,null);}public static JsonResult error(String msg, Object data,Long count) {return result(false, msg, data,count);}public static JsonResult result(Boolean result, String msg, Object data,Long count) { JsonResult jsonResult = new JsonResult();jsonResult.setResult(result);jsonResult.setMsg(msg);jsonResult.setData(data);jsonResult.setCount(count);return jsonResult;}}四、渲染table表格数据主要注意下:elem: ‘#projectList': projectList为表格id,page: true: 设置表格分页,url: ‘/project/list' :数据请求urlfixed: true:固定列done : function(res, curr, count){…}:数据加载成功后的回调函数var tableIns = table.render({elem: '#projectList',cellMinWidth: 150,url: '/project/list',cols: [[{// type: 'checkbox',fixed: 'left'checkbox: true, fixed: true}, {field: 'id',title: 'ID',align:'center',width:50,fixed: true}, {field: 'name',title: '项⽬名称',align:'center',fixed: true}, {field: 'businessOperatorStr',title: '经办⼈',align:'center',fixed: true}, {field: 'mftRepresentativeStr',title: '⼚家代表',align:'center',fixed: true}, {field: 'channelStr',title: '渠道',align:'center',fixed: true}, {field: 'customerStr',title: '客户',align:'center',fixed: true}, {field: 'projectPhaseStr',title: '项⽬阶段',align:'center',fixed: true}, {field: 'amount',title: '⾦额',align:'center'}, {field: 'businessSource',title: '商机来源',align:'center'}, {field: 'mainProduct',title: '主要产品',align:'center'}, {field: 'productLineStr',title: '产品线',align:'center'}, {field: 'goodsConditionStr',title: '货物情况',align:'center'}, {field: 'implementConditionStr',title: '实施情况',align:'center'}, {field: 'payAmount',title: '已付⾦额',align:'center'}, {field: 'payConditionStr',title: '收款情况',align:'center'}, {field: 'startTime',title: '开项时间',align:'center'}, {field: 'endTime',title: '结项时间',align:'center'}, {field: 'remark',title: '备注',align:'center'}, {field: 'operate',title: '操作',toolbar: '#operateTpl',fixed: 'right',unresize: true}]],id: 'testReload',// skin: 'row', //表格风格even: true, //隔⾏背景event: true,page: true,done : function(res, curr, count){$('#totalProjectNumber').text("共有数据:"+count+" 条");table_data=res.data;layer.closeAll('loading');// layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的// layer.close(index); //返回数据关闭loading}});五、监听搜索表单的提交事件,并重新渲染table表格数据主要注意下:sreach: 为搜索按钮的lay-filter=“sreach”,where 中的数据对应搜索表单,为搜索的条件,后台使⽤这些条件进⾏筛选数据返回form.on('submit(sreach)', function(data){layer.load();tableIns.reload({url:"/project/list",page: {curr: 1 //重新从第 1 页开始},where:{name:data.field.projectName,businessOperatorId:data.field.businessOperatorId,mftRepresentativeId:data.field.mftRepresentativeId,channelId:data.field.channelId,customerId:data.field.customerId,projectPhase:data.field.projectPhase,goodsCondition:data.field.goodsCondition,implementCondition:data.field.implementCondition,payCondition:data.field.payCondition,startTime:data.field.startTime,endTime:data.field.endTime}});return false; //阻⽌表单跳转。

ajax async用法

ajax async用法

ajax async用法ajax async用法是指在使用ajax请求时,是否将请求设置为异步执行。

在ajax中,异步请求使得网页可以在请求发送给服务器之后继续进行其他操作,而不需要等待服务器响应。

这篇文章将一步一步回答关于ajax async 用法的问题。

第一步:什么是ajax?Ajax是一种网页开发技术,全称为“Asynchronous JavaScript and XML”(异步的JavaScript和XML)。

它允许网页通过JavaScript在后台与服务器进行通信,从而实现无需刷新整个页面的数据传输和交互。

使用ajax 可以改善用户体验,提高网页的性能和加载速度。

第二步:什么是异步请求?在web开发中,当一个请求被发送到服务器时,浏览器会停止处理其他的事务,直到服务器返回响应。

这种默认的同步请求方式会导致页面的加载和响应速度变慢。

异步请求是指将请求发送给服务器后,网页可以继续执行其他操作,并不需要等待服务器的响应。

第三步:如何设置异步请求?在ajax中,可以通过设置async参数为true或false来控制请求的异步性。

当参数为true时,请求为异步请求;当参数为false时,请求为同步请求。

默认情况下,async参数的值为true,即异步请求。

第四步:异步请求的优势是什么?异步请求具有以下几个优势:1. 提高用户体验:由于异步请求不需要等待服务器响应,网页可以继续进行其他操作。

用户可以在请求发送的同时继续浏览页面,不会感到页面的卡顿或等待。

2. 提高网页性能:异步请求可以减少页面加载时间,因为不需要等待服务器响应之后再加载其他内容。

网页可以在后台同时发送多个异步请求,从而提高网页的并发性能。

3. 节约带宽:由于不需要每次请求都加载整个页面,异步请求只传输需要的数据。

这可以节约带宽和服务器资源,并减轻服务器的负担。

第五步:异步请求的注意事项在使用异步请求时,需要注意以下几点:1. 异步请求的回调函数:异步请求需要设置回调函数来处理服务器的响应。

$.ajax使用方法

$.ajax使用方法

$.ajax使用方法$.ajax是jQuery中的一个方法,用于执行异步HTTP(Ajax)请求。

以下是$.ajax的基本使用方法:1.创建请求:```javascript$.ajax({url:"example.php",//请求的URL地址type:"GET",//请求方式,GET或POST dataType:"json",//预期服务器返回的数据类型,可以是xml、json、script、html等success:function(data){//请求成功后的回调函数console.log(data);//输出服务器返回的数据},error:function(){//请求失败时的回调函数console.log("请求失败");}});```2.发送数据:```javascript$.ajax({url:"example.php",type:"POST",data:{foo:"bar"},//要发送到服务器的数据,以键值对的形式表示dataType:"json",success:function(data){console.log(data);},error:function(){console.log("请求失败");}});```3.处理服务器响应:在成功回调函数中,服务器返回的数据作为参数传递给回调函数。

可以根据需要处理这些数据,例如更新页面内容或执行其他操作。

4.配置选项:$.ajax方法接受一个配置对象作为参数,其中包含以下选项:-`url`:请求的URL地址。

-`type`:请求方式,默认为"GET"。

-`dataType`:预期服务器返回的数据类型,默认为"html"。

ajax 调用方法

ajax 调用方法

ajax 调用方法Ajax调用方法详解Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术,它通过在后台与服务器进行少量数据交换,实现了网页无需刷新即可更新部分内容的功能。

在前端开发中,Ajax的应用非常广泛,本文将详细介绍几种常见的Ajax调用方法。

一、XMLHttpRequest对象XMLHttpRequest是Ajax的核心对象,它用于与服务器进行数据交互。

通过创建XMLHttpRequest对象并调用其相关方法,可以实现异步加载数据、发送数据到服务器等操作。

创建XMLHttpRequest对象的方法如下:```javascriptvar xhr;if (window.XMLHttpRequest) {xhr = new XMLHttpRequest(); // 非IE浏览器} else if (window.ActiveXObject) {xhr = new ActiveXObject('Microsoft.XMLHTTP'); // IE浏览器}```使用XMLHttpRequest对象发送GET请求的方法如下:```javascriptxhr.open('GET', 'data.php?param1=value1&param2=value2', true);xhr.onreadystatechange = function() {if (xhr.readyState === 4 && xhr.status === 200) {var response = xhr.responseText;// 处理服务器返回的数据}};xhr.send();```使用XMLHttpRequest对象发送POST请求的方法如下:```javascriptxhr.open('POST', 'data.php', true);xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');xhr.onreadystatechange = function() {if (xhr.readyState === 4 && xhr.status === 200) {var response = xhr.responseText;// 处理服务器返回的数据};xhr.send('param1=value1&param2=value2');```二、jQuery的Ajax方法jQuery是一款功能强大的JavaScript库,它封装了许多常用的操作,包括Ajax。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
39.*/
40.functionajaxSyncCall(urlStr, paramsStr) {
41.varobj;
42.varvalue;
43.if(window.ActiveXObject) {
44.obj =newActiveXObject('Microsoft.XMLHTTP');
45.}elseif(window.XMLHttpRequest) {
},
failure: function(result, request) {
Ext.MessageBox.alert('系统异常', '请求数据失败!');
}
});
responsea.send(null);
alert("返回来的数据为:"+responsea.responseText);
ext3之后好像不能这样提交了,这时候需要引入一个新的js文件,叫做ext-basex.js,可以在这里下载:/topics/download/75f986f1-bf12-3ebc-ba99-2be4cb1cdf9a
51.varresult = Ext.util.JSON.decode(obj.responseText);
52.returnresult;
53.}
ext3.0之前都是这样来提交:
var responsea = Ext.lib.Ajax.getConnectionObject().conn;
responsea.open("POST", navUrl,false);
20..decode(response.responseText);
21.varcbfn = callbackFunc.createCallback(result);
22.cbfn();
23.}
24.},
25.failure :function() {
26.Ext.Msg.alert("提示","方法调用失败");
1.//异步ajax调用2./ Nhomakorabea*3.*异步调用ajax,成功后返回值,作为回调函数的参数调用失败会提示
4.*
5.* @param {}
6.* urlStr
7.* @param {}
8.* paramsObj
9.* @param {}
10.* callbackFunc
11.*/
12.functionajaxCall(urlStr, paramsObj, callbackFunc) {
具体写法很好看,跟一直以来的异步提交方式很相像:
Ext.Ajax.request({
url: navUrl,
method: 'post',
async : false,//同步请求数据
success: function(result, request) {
alert(result.responseText);
27.}
28.});
29.}
30.//同步ajax调用
31./**
32.*同步ajax调用返回json Object
33.*
34.* @param {}
35.* urlStr
36.* @param {}
37.* paramsStr为字符串键值对形式“key=value&key2=value2”
38.* @return {}返回json Object
13.Ext.Ajax.request({
14.url : urlStr,
15.params : paramsObj,
16.method :'POST',
17.success :function(response) {
18.if(callbackFunc) {
19.varresult = Ext.util.JSON
46.obj =newXMLHttpRequest();
47.}
48.obj.open('POST', urlStr,false);
49.obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
50.obj.send(paramsStr);
相关文档
最新文档