本帖含有隐含内容,如果您看不到相关代码请移步:http://www.bacysoft.cn/thread-89-1-1.html,成功注册为会员后方可访问完整内容!
函数简介:ajaxget() 函数与 ajaxpost() 一样,都是是 Discuz!X 系统中很重要的函数,是 Discuz!X 系统中 实现 Ajax 功能的重要组成部分,在整个源码中有上百次调用,掌握 ajaxget 的工作原理和使用方法对于理解 Discuz!X 系统的 Ajax 机制和针对 Discuz!X 系统的二次开发都将大有裨益。下文将为您讲解 ajaxpost 的工作原理。
函数原型:function ajaxget(url, showid, waitid, loading, display, recall)
所属文件:common.js
参数说明及示例关键代码:
url:(必填)请求的url;
showid:(必填)ajax 返回信息显示区域的 id;
waitid:ajax 请求过程中显示等待信息区域的 id;默认与showid相同
loading:在等待区域显示的提现信息,比如:“请稍后...”
display:信息返回后 showId 的 style.display 值,就是指定返回信息是否显示的
recall:信息返回后执行的代码。
ajaxget() 函数在整个 Discuz!X 中有很多处调用!粗略统计了一下,ajaxget() 和 ajaxpost() 均有100多处调用!在模版文件中一般是直接调用,在js文件中一般是间接调用。
最简单的 ajaxget() 调用的例子就是用户登录以后,在用户名后面那个“切换在线状态”的功能!即登录后处于在线状态,点击“在线”后,就切换到“隐身”状态,在点击“隐身”则又可以切换回“在线”状态。代码如下:调用流程(会员可见):复制代码
- <span id="loginstatus">
- <a id="loginstatusid" href="member.php?mod=switchstatus" title="切换在线状态" onclick="ajaxget(this.href, 'loginstatus');return false;" class="xi2">在线</a>
- </span>
ajaxget() 的核心内容,其实在 Ajax() 中,通过读源码,我们可以知道,其实 Ajax 还能实现 post 方式的交互,但是正如之前我们知道的,ajaxpost() 不是通过 Ajax() 来实现的,而是使用了 iframe 的方法!
欢迎光临 Bacysoft.cn (http://bacysoft.cn/) | Powered by Discuz! X3.3 |