日期:2014-05-16  浏览次数:20359 次

prototype.js+ajax+随机数添加入url(原创)

引入:

<script type="text/javascript"? src="../js/prototype.js"></script>
调用:

<script type="text/javascript">
????????function configwin(id) {

生成随机数,避免重复向同一个url发送请求,浏览器的缓存会组织再次发送请求,所以,加上随机数:Math不用引入,直接使用即可,是js的对象,不是java的:
????????????var tmp = Math.random().toString();
????????????

?????????? var url = "sim_chart.action?tmp="+tmp+"&typeId="+id;
下面是调用prototype里的ajax向一个url发送请求:?

?????????? new Ajax.Request(url, {
???????????????? method:'post',
????????????????? asynchronous:false ,
????????????????? onSuccess:function(req){
??????????????????sAlert("chart/chart"+id+".jpg");
??????????????????? }
??????????????? });
??????????? }

?

?</script>

?

?

?

?

摘引:

Ajax.Request(
url,
{
method:method,
parameters:para,
postBody:xmlString,
asynchronous:true,
setRequestHeader:Object,
onComplete:completeFun,
onError:errorFun
}
)
发送异步请求。(此方法是为兼容 prototype.js 而写,调用风格与 prototype 一致,使用Ajax.Request此方法请在页面中加载此js文件)

参数
url
必选项。数据发送的目标地址。
method
可选项。数据提交的方式,默认值为get。常用的还有post。
parameters
当 method 为 get 时是可选项,为 post 时是必选项。发送的数据,其形式为: name1=valeu1& name2=value2&name3=value3......
postBody
可选项。客户端发送的 xml 格式字符串。如果启用 postBody,那么 parameters 将被忽略。
asynchronous
可选项。指定请求是否异步,默认为true(异步)。
setRequestHeader
指定请求的头部字串。其值类型为“名称值对”形式的对象,比如:{"If-Modified-Since":"0", "SOAPAction":"http://tempuri.org/SBS_WebService", ... ... }
onComplete
可选项。请求成功时执行的回调函数,该函数默认把当前使用 xmlhttp 对象作为第一个参数。
onError
可选项。请求异常时执行的回调函数,该函数默认把当前使用 xmlhttp 对象作为第一个参数。
返回值
当前使用的 xmlhttp 对象。

描述
发送异步请求,并返回 xmlhttp 对象,该对象内置有 abort() 方法,用于提前终止请求。异步请求成功则执行 onComplete,失败则执行 onError 。并返回 xmlhttp 对象。
Ajax.Request 是个接口完整的 Ajax 方法,是 myJSFrame 中所有其他 Ajax 方法的核心方法。

示例
示例一:
<script type="text/javascript" >
?? var myAjax = new Ajax.Request(
??????? "http://www.happyshow.org/form.asp",
??????? {
??????????? method:"post",?????? //表单提交方式
??????????? parameters:"name=acai&age=26&sex=male",?? //提交的表单数据
??????????? setRequestHeader:{"If-Modified-Since":"0"},???? //禁止读取缓存数据
??????????? onComplete:function(x){??? //提交成功回调
??????????????????? alert(x.responseText);
??????????? },
??????????? onError:function(x){????????? //提交失败回调
??????????????????? alert(x.statusText);
??????????? }
??????? }
?? );
</script>


注:parameters 参数若是不列出,我们在开发中对于Form 表单这样的数据 可以这样处理

?parameters:Form.serialize('FormName')?? FormName? 为页面中表单的 ID

?