欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

讓回調(diào)函數(shù) showResponse 也帶上參數(shù)的代碼

 更新時間:2007年08月13日 19:45:53   作者:  
function demo(){
var url="ajaxdemo.asp";
var paras = "" ;
var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: showResponse
});
}
function showResponse(originalRequest){
var html = originalRequest.responseText;
alert(html);
}


這是應(yīng)用 prototype.js 后最??匆姷腶jax代碼,由于 showResponse 不能直接帶參數(shù),在處理回調(diào)函數(shù)時有時候比較麻煩,比如要把返回的html值動態(tài)插入到某個元素里面去。今天終于想到了一種方法來解決這個問題:


function demo(){
var url="ajaxdemo.asp";
var paras = "" ;
var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: function(originalRequest){showResponse(originalRequest,elemID)}
});
}
function showResponse(originalRequest,elemID){
var html = originalRequest.responseText;
$(elemID).innerHTML = html;
}


匿名函數(shù)這時充當(dāng)了回調(diào)函數(shù),而showResponse則變成一個普通方法了。變換了概念,問題就順利解決。
解決了這個問題,還可以把這兩個函數(shù)封裝為一個函數(shù):


function demo(url,paras,updateElemID){
var myAjax = new Ajax.Request(
url,
{
method: 'post',
parameters: paras,
onComplete: function(originalRequest){showResponse(originalRequest,updateElemID)}
});
}
function showResponse(originalRequest,elemID){
var html = originalRequest.responseText;
$(elemID).innerHTML = html;
}


只需要調(diào)用 demo(url,paras,updateElemID) 就能完成ajax的功能。爽。如果參數(shù)再擴展一下,增加一些動作函數(shù),就不止是update某個元素的innerHTML這么簡單了。

相關(guān)文章

最新評論