动态网页中javascript的异步提交实现

以下世xmlHttp对象产生和提交的一个例子:

xmlHttp.js

var xmlhttp,alerted;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
  try {
  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
 } catch (e) {
  try {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
  } catch (E) {
   alert("You must have Microsofts XML parsers available")
  }
 }
@else
 alert("You must have JScript version 5 or above.")
 xmlhttp=false
 alerted=true
@end @*/
if (!xmlhttp && !alerted) {
 try {
  xmlhttp = new XMLHttpRequest();
 } catch (e) {
  alert("You need a browser which supports an XMLHttpRequest Object./nMozilla build 0.9.5 has this Object and IE5 and above, others may do, I don't know, any info jim@jibbering.com")
 }
}
function RSchange(){
 if (xmlhttp.readyState==4) {
   //alert(xmlhttp.responseText);
 }
}
function submit(strUrl) {
if (xmlhttp) {
  xmlhttp.open("post", strUrl,true);
  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlhttp.onreadystatechange=RSchange;
  xmlhttp.send(null);
 }
}

在jsp或者其他网页的form表单提交时,在js中使用:

submit("/project/servlet?param1="+URLEncode(p1)+"&param2="+p2);

转码:

function URLEncode(fld)
{
 if (fld == "") return "";
 var encodedField = "";
 var s = fld;
 if (typeof encodeURIComponent == "function")
 {
  encodedField = encodeURIComponent(s);
 }
 else
 {
  encodedField = encodeURIComponentNew(s);
 }
 return encodedField;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值