ajax 原生态和jquery封装区别
一、原生态
var xmlHttp = false;
try{
if( xmlHttp && xmlHttp.readyState != 0 ){
xmlHttp.abort();
}
if (!xmlHttp){
xmlHttp = getXMLHTTPObj();
}
if(xmlHttp){
var url = "pages/overlapanalysis_PostResult.jsp?dkName="+dkName+"&annlysisBusinessType="+annlysisBusinessType
+"&coordString="+coordString+"&mapID="+mapID+"&phyLayerID="+phyLayerID+"&phyLayerName="+phyLayerName
+"&fldNames="+fldNames+"&whereSql="+whereSql;
xmlHttp.open("POST",encodeURI(encodeURI(url)) , true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-Type","text/xml;charset=GBK");
//设置回调函数
xmlHttp.onreadystatechange = function () {
try{
if (xmlHttp.readyState == 1){
window.status = "叠加分析中......";
}else if (xmlHttp.readyState == 2){
window.status = "叠加分析完毕";
}else if (xmlHttp.readyState == 3){
window.status = "叠加分析完毕.";
}else if (xmlHttp.readyState == 4){
window.status = "叠加分析完毕.";
var retStr = xmlHttp.responseText;
document.getElementById("data_txt").value = retStr;
}
}catch (e){
alert("数据加载失败!:" + e);
}
}
xmlHttp.send(null);
}else{
alert("XMLHTTP对象创建失败");
}
}catch (e){
alert("数据加载失败!:" + e);
} //创建XMLHTTP对象
function getXMLHTTPObj(){
var obj = null;
try{
obj = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
obj = new ActiveXObject("Microsoft.XMLHTTP");
}catch(sc){
obj = null;
alert('创建XMLHTTP对象失败!');
}
}
if( !obj && typeof XMLHttpRequest != "undefined" ){ //not Microsoft Integer Explorer
obj = new XMLHttpRequest();
}
return obj;
}
$.ajax({
url:"pages/overlapanalysis_PostResult.jsp",
type:"post",
data:"dkName="+dkName+"&annlysisBusinessType="+annlysisBusinessType
+"&coordString="+coordStr+"&mapID="+mapID+"&phyLayerID="+phyLayerID+"&phyLayerName="+phyLayerName
+"&fldNames="+fldNames+"&whereSql="+whereSql,
async : true, //默认为true 异步
dataType:"html",
error:function(){
alert("叠加分析失败");
},
success:function(data){
setAttributeValuestt(layerType,coordStr,data);
}
});
当使用的参数较多且有的参数过长时建议使用jquery的,使用原生态的可以会截掉部分传递的参数(如coordStr是很多坐标串可能就会失败)。
ajax 原生态和jquery封装区别的更多相关文章
- ajax 源生,jquery封装 例子 相同哈哈
http://hi.baidu.com/7636553/item/bbcf5fc93c8c950aac092f22 ajax使用回调函数的例子(原生代码和jquery代码) 一. ajax代码存在的问 ...
- 对jquery的ajax进行二次封装
第一种方法: $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"username": " ...
- 不借助jquery封装好的ajax,你能用js手写ajax框架吗
不借助jquery封装好的ajax,你能手写ajax框架吗?最基础的ajax框架,一起来围观吧. .创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); ...
- Jquery封装ajax
Jquery封装ajax Load方法 <!-- 将jquery.js导入进来 --> <script type="text/javascript&qu ...
- JavaScript原生封装ajax请求和Jquery中的ajax请求
前言:ajax的神奇之处在于JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果.Ajax 在浏览器与 Web 服务器之间使用异步 ...
- 封装通用的 ajax, 基于 jQuery。
在前端异步获取数据时候每次都是使用 ajax:为了通用性更好,然而封装通用的 ajax 是一个一劳永逸的办法. 本次基于 jQuery 封装实现: 第一步: 引入 jQuery: <script ...
- 模仿JQuery封装ajax功能
需求分析 因为有时候想提高性能,只需要一个ajax函数,不想引入较大的jq文件,尝试过axios,可是get方法不支持多层嵌套的json,post方式后台接收方式似乎要变..也许是我不太会用吧..其实 ...
- jQuery 封装的ajax
jquery封装的ajax 具体操作: $.get(url [,data] [,fn回调函数] [, dataType]); data:给服务器传递的数据,请求字符串 .json对象 都可以设 ...
- Jquery封装的ajax的使用过程发生的问题
Jquery封装的ajax的使用过程发生的问题 今天在做项目的时候使用到了ajax来完成项目前后端数据交互,在之后发现在前端没有数据显示,而后端数据确实存在,在多次检查代码之后,发现代码并不存在问题, ...
随机推荐
- Caffe框架,了解三个文件
不知道从什么时候开始,Deep Learning成为了各个领域研究的热点,也不知道从什么时候开始,2015CVPR的文章出现了很多Deep Learning的文章,更不知道从什么时候开始,三维重建各个 ...
- 02_Android写xml文件和读xml文件
新建Android项目 编写AndroidManifest.xml,使本Android项目具有单元测试功能和写外设的权限. <?xml .控制台输出结果
- javascript语法之流程控制语句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Oracle中job的实例
一.Oracle定时器(Job)各时间段写法汇总 对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等 ...
- 小强的HTML5移动开发之路(1)——HTML介绍
来自:http://blog.csdn.net/dawanganban/article/details/17591373 HTML是HyperText Markup Language(超文本标记语言) ...
- PO订单审批通过API
DECLARE l_return_status VARCHAR2(1); l_exception_msg VARCHAR2(4000); BEGIN mo_global.set_policy_cont ...
- android Timer与TimerTask的相关操作
项目上面的部分操作需要使用到定时器进行周期性的控制.网络上面对于定时器的操作通常有三种实现方法. 我是通过Timer与TimerTask相结合实现的定时器功能.具体实现过程如下: 第一步,得到Time ...
- 用boost::bind构造boost::coroutine
class TestCoro { ... typedef boost::coroutines::coroutione<void ()> Coro; void CoroFun(Coro::c ...
- Unix - 文件中构成一个空洞的分析
lseek函数显示地为一个打开文件设置偏移量,文件偏移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将加长该文件,并在文件中构成一个空洞,这一点是允许的.位于文件中但没有写过的字节都被读为 ...
- 解决javac和java命令在Mac OSX终端里的乱码问题
转自:https://www.surfchen.org/archives/710 java和javac在简体中文的Mac OSX的终端(Terminal.app)环境下,默认是以GBK编码的中文输出各 ...