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
?
示例二:
<script type="text/javascript" >
?? var xmlString = "<root>"
?????????????????????????? +"<people><name>caizhongqi</name><sex>male</sex></people>"
?????????????????????????? +"<people><name>ahuang</name><sex>female</sex></people>"
????????????????????? +" </root>";
?? var myAjax = new Ajax.Request(
??????? "http://www.happyshow.org/xmlform.asp",
??????? {
??????????? method:"post",?????? //表單提交方式
??????????? postBody:xmlString,?? //提交的xml
??????????? setRequestHeader:{"content-Type":"text/xml"},???? //指定發送的數據為 xml 文檔(非字符串)
??????????? onComplete:function(x){??? //提交成功回調
??????????????????? alert(x.responseXML.xml);
??????????? },
??????????? onError:function(x){????????? //提交失敗回調
??????????????????? alert(x.statusText);
??????????? }
??????? }
?? );
</script>
總結
以上是生活随笔為你收集整理的prototype.js+ajax+随机数添加入url(原创)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目1在线交流平台-6.Elastics
- 下一篇: 武大94年博士年薪201万入职华为!学霸