`
thunderbow
  • 浏览: 156644 次
  • 性别: Icon_minigender_1
  • 来自: beijing
社区版块
存档分类
最新评论

正则处理url 封装ajax

阅读更多

function getUrlPara(paraName){
         var sUrl  =  location.href;
         var sReg  =  "(?:\\?|&){1}"+paraName+"=([^&]*)"
         var re=new RegExp(sReg,"gi");
         re.exec(sUrl);
         return RegExp.$1;
    }
    document.domain = "kunlun2000.com";
    getPra();
 
 
    function AJAXRequest() {
 var xmlObj = false;
 var CBfunc,ObjSelf;
 ObjSelf=this;

 if(window.ActiveXObject){
         xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
     }else if(window.ActiveXObject){
         xmlObj = new ActiveXObject("Msxml2.XMLHTTP.4.0");
     }else if(window.ActiveXObject){
         xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
     }else if(window.XMLHttpRequest){
         xmlObj = new XMLHttpRequest();
     }
 if (!xmlObj) return false;
 if(arguments[0]) this.url=arguments[0]; else this.url="";
 if(arguments[1]) this.callback=arguments[1]; else this.callback=function(obj){return};
 if(arguments[2]) this.content=arguments[2]; else this.content="";
 if(arguments[3]) this.method=arguments[3]; else this.method="POST";
 if(arguments[4]) this.async=arguments[4]; else this.async=true;
 this.send=function() {
  var purl,pcbf,pc,pm,pa;
  if(arguments[0]) purl=arguments[0]; else purl=this.url;
  if(arguments[1]) pc=arguments[1]; else pc=this.content;
  if(arguments[2]) pcbf=arguments[2]; else pcbf=this.callback;
  if(arguments[3]) pm=arguments[3]; else pm=this.method;
  if(arguments[4]) pa=arguments[4]; else pa=this.async;
  if(!pm||!purl||!pa) return false;
  xmlObj.open (pm, purl, pa);
  if(pm=="POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  xmlObj.onreadystatechange=function() {
   if(xmlObj.readyState==4) {
    if(xmlObj.status==200) {
     pcbf(xmlObj);
    }
    else {
     pcbf(null);
    }
   }
  }
  if(pm=="POST")
   xmlObj.send(pc);
  else
   xmlObj.send("");
 }
 this.get=function() {
  var purl,pcbf;
  if(arguments[0]) purl=arguments[0]; else purl=this.url;
  if(arguments[1]) pcbf=arguments[1]; else pcbf=this.callback;
  if(!purl&&!pcbf) return false;
  this.send(purl,"",pcbf,"GET",true);
 }
 this.post=function() {
  var fo,pcbf,purl,pc,pm;
  if(arguments[0]) fo=arguments[0]; else return false;
  if(arguments[1]) pcbf=arguments[1]; else pcbf=this.callback;
  if(arguments[2])
   purl=arguments[2];
  else if(fo.action)
   purl=fo.action;
  else
   purl=this.url;
  if(arguments[3])
   pm=arguments[3];
  else if(fo.method)
   pm=fo.method.toLowerCase();
  else
   pm="post";
  if(!pcbf&&!purl) return false;
  pc=this.formToStr(fo);
  if(!pc) return false;
  if(pm) {
   if(pm=="post")
    this.send(purl,pc,pcbf,"POST",true);
   else
    if(purl.indexOf("?")>0)
     this.send(purl+"&"+pc,"",pcbf,"GET",true);
    else
     this.send(purl+"?"+pc,"",pcbf,"GET",true);
  }
  else
   this.send(purl,pc,pcbf,"POST",true);
 }


 this.formToStr=function(fc) {
  var i,query_string="",and="";
  for(i=0;i<fc.length;i++) {
   e=fc[i];
   if (e.name!='') {
    if (e.type=='select-one') {
     elementvalue=e.options[e.selectedIndex].value;
    }
    else if (e.type=='checkbox' || e.type=='radio') {
     if (e.checked==false) {
      continue;
     }
     elementvalue=e.value;
    }
    else {
     elementvalue=e.value;
    }
    elementvalue=encodeURIComponent(element_value);
    query_string+=and+e.name+'='+element_value;
    and="&";
   }
  }
  return query_string;
 }
}

function gsNewsList(pageNO) {
 var ajax=new AJAXRequest;
 ajax.get(
  "http://www.kunlun2000.com:8180/kunlun/gsnewslist.jsp?pageNO="+pageNO,
  function(obj) {
   document.getElementById("gsxwNewsList").innerHTML=obj.responseText;
  }
 );
}

function getPra()
{
    var pageNO=getUrlPara("pages");
    gsNewsList(pageNO);
}

 

 

学习函数

分享到:
评论
1 楼 thunderbow 2010-07-14  
if (this.element.value) {
var param = this.element.value;
if (param) {
updatedUrl = addParameter('param', param, updatedUrl);
}
}
zoneManager.updateFromURL(updatedUrl);
天水白娃娃  11:58:44
看到没,你那个是接受参数
天水白娃娃  11:58:50
我这个是组装参数

相关推荐

    jquery Ajax表单输入检测验证一例

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本示例将深入探讨如何使用jQuery和Ajax技术来实现表单输入的实时检测和验证,提升用户体验,减少服务器负载。 ...

    解决AJAX中跨域访问出现''没有权限''的错误

    - **字符编码处理**:在`getpage.asp`中,为了正确处理不同网页的编码,使用了正则表达式来查找`&lt;meta&gt;`标签中的`charset`属性,从而自动识别并转换字符集。 - **二进制数据转换**:`BytesToBstr`函数用于将二进制...

    用正则xmlHttp实现的偷(转)

    这个函数封装了正则表达式的替换操作,接收原始字符串`strContent`、要查找的正则表达式`ReplaceReg`和替换后的字符串`ResultReg`,返回经过替换操作后的字符串。 标签中提到的`xm`、`xml`和`xmlhttp`都是与XML相关...

    jquery获取url参数及url加参数的方法

    但是,使用jQuery并没有提供直接向URL添加参数的方法,因为通常我们不需要在前端改变URL的参数,而是在通过AJAX请求向服务器发送数据时,由服务器来处理这些参数。 如果我们确实需要在前端添加参数,我们只需拼接...

    jQuery+ajax实现修改密码验证功能实例详解

    5. 整个过程中,客户端与服务器端的通信是通过ajax实现的,此处使用了jQuery封装好的$.ajax方法简化了AJAX调用。在$.ajax方法中,开发者可以指定请求的类型(type)、请求地址(url)、是否异步(async)、要发送的...

    jQuery进阶实践之利用最优雅的方式如何写ajax请求

    模板渲染函数`render()`使用正则表达式匹配URL中的占位符(如`{{agentId}}`),然后用提供的数据对象替换它们。这样可以方便地动态构建请求的URL,避免硬编码。 `setHeader()`函数允许我们设置请求头,这对于处理如...

    JQuery源码分析

    源码中,可以学习到异步请求的处理流程,包括URL参数处理、数据序列化、错误处理和回调函数的调用。 此外,jQuery还提供了一套丰富的插件机制,允许开发者扩展其功能。源码中的`extend()`函数展示了如何合并对象和...

    ckeditor图片上传 远程图片下载

    前端通常需要处理文件读取(如使用FileReader API)和表单数据封装。 4. **后端处理**:服务器端接收到图片数据后,需要进行验证、存储和返回响应。你可以选择PHP、Node.js或其他服务器端语言来实现这个功能。通常...

    javaScript教案

    它提供了与用户交互的接口,如alert、confirm、prompt用于对话框交互,location对象用于管理当前页面URL,history对象处理浏览历史,navigator对象包含了浏览器的信息。 四、文档对象模型(DOM) DOM是HTML和XML...

    JS常用函数和常用技巧小结

    我自己封装了一个ajax的函数,代码如下: var Ajax = function(url, type success, error) { $.ajax({ url: url, type: type, dataType: 'json', timeout: 10000, success: function(d) { var data = d.data; ...

    Jquery读取URL参数小例子

    jQuery是一个快速、简洁的JavaScript库,它封装了JavaScript常用的功能代码,提供了一种简单易用的方式来进行DOM操作、事件处理、动画效果以及AJAX交互。通过使用jQuery,可以大大简化JavaScript编程工作。 3. ...

    comUtils前端代码常用工具类

    - `ajax`:封装了XMLHttpRequest或Fetch API,用于异步数据交互。 - `jsonp`:JSONP(JSON with Padding)跨域数据请求。 8. **正则表达式**: - `matchPattern`:检查字符串是否符合特定的正则表达式模式。 9....

    细说PHP习题答案细说PHP习题答案

    ### 第9章:字符串处理与正则表达式 字符串处理是PHP编程中的常见需求,而正则表达式则是一种强大的文本匹配工具。这一章节将教授如何在PHP中处理字符串,包括拼接、分割、查找、替换等操作,以及如何使用正则...

    struts结合js的表单验证

    - `p_url` 表示远程验证的 URL 地址。 - `validate` 方法:发送 Ajax 请求到服务器端,根据响应结果调用成功或失败回调函数。 #### 四、正则表达式的用法 在 JavaScript 中,正则表达式用于模式匹配和字符串操作...

    javascriptAPI

    9. **正则表达式**: JavaScript支持正则表达式,用于字符串的匹配、替换和分割。 10. **错误处理**: 通过try...catch语句处理运行时可能出现的错误。 11. **性能优化**: 使用requestAnimationFrame()进行动画优化...

    Tapestry5 使用教程

    - **最佳实践**:封装 RESTful URL 风格、可降级的 JavaScript 支持、无需 XML 配置等。 - **集成能力**:支持与其他流行框架如 Hibernate、Spring、Seam 和 Acegi 等的集成。 #### 二、Apache Tapestry5 特点 在...

    java web技术开发大全(最全最新)

    4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术...

    PHP程序员面试题

    可以通过在Ajax请求中添加时间戳或者随机参数来强制浏览器每次都请求新的数据,例如在URL后面添加 `?t=()?&gt;`。 三、Linux计划任务SH编写:要让Linux在特定时间执行PHP脚本,如每天0点和4点执行 `refresh.php`,可以...

Global site tag (gtag.js) - Google Analytics