色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

讓回調函數 showResponse 也帶上參數的代碼

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);
}


這是應用 prototype.js 后最常看見的ajax代碼,由于 showResponse 不能直接帶參數,在處理回調函數時有時候比較麻煩,比如要把返回的html值動態插入到某個元素里面去。今天終于想到了一種方法來解決這個問題:


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;
}


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


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;
}


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

JavaScript技術讓回調函數 showResponse 也帶上參數的代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 阳曲县| 彭水| 西青区| 余姚市| 恩平市| 大石桥市| 赫章县| 秀山| 隆回县| 博客| 墨竹工卡县| 辰溪县| 喀喇沁旗| 隆尧县| 凌海市| 巫溪县| 体育| 岳普湖县| 天柱县| 宁安市| 涿州市| 门头沟区| 淳安县| 通渭县| 永登县| 泸水县| 边坝县| 宜宾县| 葫芦岛市| 临夏市| 永修县| 祁连县| 封丘县| 弥勒县| 天长市| 邵武市| 汝州市| 桐庐县| 临海市| 林口县| 门头沟区|