ajax回调函数demo,window_让回调函数 showResponse 也带上参数的代码,function demo(){ var url="ajaxdemo.asp"; - phpStudy...

让回调函数 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这么简单了。相关阅读:

真正的JQuery.ajax传递中文参数的解决方法

JavaScript制作会反弹的浮动图片

如何在 Access 2003 和 Access 2002 中创建 DSN 的连接到 SQLServer 对链接表

对Windows 7系统大瘦身的详细介绍

CSS教程:inline-block在各浏览器的显示

php中批量删除Mysql中相同前缀的数据表的代码

谈WCF数据契约疑问之共享数据契约

手动移动web.config文件出现错误的解决办法

SQL Server 2008的升级与部署知识问答

类似新浪网的 弹出视频功能实现代码

能玩跨所有IE浏览器的一段简单的HTML代码

php简单的分页程序

带你了解ASP.NET编译器

简单JS代码压缩器