博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
Weex控制Android返回键解决方案
查看>>
Laravel5.4重新登陆跳转到登陆前页面的原理和实现
查看>>
Chrome Full black Screen [Solved]
查看>>
Android动态权限管理模型(4.3-6.0)
查看>>
UI仿写 - 收藏集 - 掘金
查看>>
svg做自定义折线图表
查看>>
Koa源码分析(二) -- co的实现
查看>>
nohup和&的区别与关系
查看>>
UE4链接第三方库(lib和dll)
查看>>
phpstrom中让volt高亮显示
查看>>
macOS下nginx配合obs做推流直播.md
查看>>
数据结构——树
查看>>
浅析React之事件系统(二)
查看>>
Elixir 1.2带来多项功能增强和性能提升
查看>>
IPv6新形势下的安全解决方案
查看>>
红帽论坛北京站召开 设立亚太开放创新实验室
查看>>
函数式编程语言时代已经来临
查看>>
微软云数据库 Azure SQL DB Hyperscale如何实现超大规模存储和高可用?
查看>>
十年中文技术社区风雨之路 今晚4位老炮畅聊过去未来
查看>>
微软发起Java on Azure调查,呼吁Java社区积极参与
查看>>