博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装自用的脚本ajax.js
阅读量:6267 次
发布时间:2019-06-22

本文共 3698 字,大约阅读时间需要 12 分钟。

function createxmlhttp(){    xmlhttpobj = false;    try{
//创建对象,一个一个的试,哎,要是能统一标准都好。。 xmlhttpobj = new XMLHttpRequest; }catch(e){ try{ xmlhttpobj=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e2){ try{ xmlhttpobj=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e3){ xmlhttpobj = false; } } } return xmlhttpobj; }//执行Ajax返回HTML中的JavaScript脚本3function executeScript_3(html) { var regDetectJs = /
(.|\n|\r\n)*?<\/script>/ig; var jsContained = html.match(regDetectJs); if(jsContained) { // 分段取出js正则 var regGetJS = /
((.|\n|\r\n)*)?<\/script>/im; // 按顺序分段执行js var jsNums = jsContained.length; for (var i=0; i
-1 ) url_head = ''; var Cts = url_str; if(Cts.indexOf("ajax_url=0") < 0 ) //如果地址参数中不包含ajax_url=0,则更新AJAX地址。 { document.getElementById('url_span').innerHTML=url_head + url_str + '&load=iframe'; } } if(url_str==""){ document.getElementById(show_id).innerHTML="文件AJAX.JS / 函数function getsubcategory / 参数url_str有误"; show_load_div(0); return; } var xmlhttpobj = createxmlhttp(); if(xmlhttpobj){
//如果创建对象xmlhttpobj成功 //组成最终url if (url_str.indexOf("?") > -1) { ajax_url = url_str+"&load=ajax&rnd_number="+Math.random(); } else { ajax_url = url_str+"?load=ajax&rnd_number="+Math.random(); } xmlhttpobj.open('get',ajax_url,true);//get方法 加个随机数。 xmlhttpobj.send(null); xmlhttpobj.onreadystatechange=function(){
//客户端监控函数 //加载等待提示信息 load_str = "" if(xmlhttpobj.readyState==4){
//服务器处理请求完成 //干她娘的firefox浏览器,上面的readyState中的S必须大写,否则在firefox中不起作用,干她老母,这也区分大小写! if(xmlhttpobj.status==200){ //清空原始容器中的内容 if (document.getElementById(show_id)) { document.getElementById(show_id).innerHTML=''; var html = xmlhttpobj.responseText;//获得返回值 document.getElementById(show_id).innerHTML=html; } //隐藏loading信息 show_load_div(0); //if(myBrowser()=="FF" || myBrowser()=="Safari" || myBrowser()=="Opera") if(!is_IE_Browser()) { //executeScript_1(html); //executeScript_2(html); executeScript_3(html); } }else{ //隐藏loading信息 show_load_div(0); document.getElementById(show_id).innerHTML='对不起,数据请求错误(
'+ajax_url+')...'; } }else{ //document.getElementById(show_id).innerHTML=load_str;//服务器处理中 show_load_div(1); } } }}//正在载入中function show_load_div(str_s) { if (document.getElementById('loading_div')) { if (str_s==1) { document.getElementById('loading_div').style.display = ''; } else { document.getElementById('loading_div').style.display = 'none'; } }}//检测是否IE浏览器function is_IE_Browser() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera ; //判断是否IE浏览器 if(isIE) { return true; } else { return false; }}

 

转载于:https://www.cnblogs.com/yeminglong/p/4114886.html

你可能感兴趣的文章
ES6 Module export与import复合使用
查看>>
第三篇、image 设置圆角的几种方式
查看>>
关于Vs2010 C#使用DirectX的问题
查看>>
EPP(Eclipse PHP)语法高亮仿EditPlus配置
查看>>
OA账号架构权限的问题
查看>>
030——VUE中鼠标语义修饰符
查看>>
python编辑csv
查看>>
sql游标的使用与exec的两种用法
查看>>
数据结构
查看>>
78/90 Subsets --back tracking
查看>>
非托管资源的释放
查看>>
开篇寄语
查看>>
Dijkstra算法的C++实现
查看>>
phpstorm psr2样式.xml
查看>>
js 无限级分类
查看>>
umask值与Linux中文件和目录权限的关系
查看>>
python自动化开发-8
查看>>
bzoj 2127: happiness
查看>>
Python 3.5 之路 day1
查看>>
selenium使用chrome抓取自动消失弹框的方法
查看>>