jquery 使用 AJAX 加载成对的html和js文件并保持顺序

okxuctiv  于 2022-11-22  发布在  jQuery
关注(0)|答案(1)|浏览(120)

我 有 一 个 页面 , 它 使用 Ajax 来 加载 页面 的 各个 部分 。 每个 部分 都 由 一 个 html 文件 和 一 个 JavaScript 文件 组成 , JavaScript 文件 只 为 这 部分 html 文件 定义 事件 。
我 想 做 的 是 找出 一 种 管理 文件 加载 的 方法 , 该 方法 可以 将 两 个 文件 绑定 在 一起 。
这 是 我 如何 尝试 让 它 工作 的 伪 代码 , 但 我 不 知道 是否 有 一 个 更 有 组织 的 方式 。
伪 代码 :( 使用 jQuery )
1.循环 浏览 需要 加载 的 html/js 文件 对 列表 。
1.将 一 个 对象 添加 到 数组 中 , 该 对象 唯一 标识 文件 对 。
1.开始 加载 html , html 返回 后 , 将 内容 追加 到 页面 , 并 在 数组 对象 中 记录 id

  • 这 很 容易 , 因为 我 直接 使用 jQuery get 回调 的 内容 。

1.开始 加载 js 。 当 文件 加载 时 , js 执行 并 使用 对 文件 返回 值 的 引用 更新 数组 中 的 对象 。

    • 这 是 困难 的 部分 。 jQuery.getScript() 在 脚本 完成 时 自动 执行 脚本 , 所以 我 不能 使用 返回 值 , 因为 它 已经 创建 。 由于 我 不能 使用 ajax 响应 , 我 必须 让 js 文件 已经 知道 它 将 自己 添加 到 的 对象

所以 , 我 希望 已经 有 一些 js 库 可以 在 html 和 js 之间 进行 数据 绑定 。
另外 , 我 不 确定 如何 构建 对象 管理 器 。 js 文件 中 的 每个 对象 都 将 绑定 相同 的 事件 , 当 您 转到 该 部分 时 , 将 调用 这些 事件 。
对不起 , 这 是 一 个 负载 的 问题 。

eufgjt7s

eufgjt7s1#

我 想 我 的 AJAX 库 可能 会 有所 帮助 :
http://depressedpress.com/javascript-extensions/dp_ajax/ 的 最 大 值
最 有用 的 功能 之 一 是 能够 定义 一 个 带有 多 个 " 调用 " ( 单个 HTTP 调用 ) 的 " 请求 " ( 触发 一 个 处理 程序 ) 。 因此 , 您 可以 定义 一 个 包含 对 脚本 的 调用 和 对 HTML 的 第 二 个 调用 的 请求 。 当 两 个 调用 都 完成 时 , 将 调用 定义 的 处理 程序 , 并 以 正确 的 顺序 将 结果 传递 给 它 。
用于 处理 请求 的 请求 池 可以 用 多 个 后台 对象 示例 化 ( 允许 多 线程 ) , 这样 , 当 请求 在 调用 处理 程序 之前 获取 所有 数据 时 , 它们 不会 因为 单 线程 而 浪费 时间 ( 尽管 如果 愿意 , 您 也 可以 这样 做 ) 。
下面 是 一 个 简单 的 使用 示例 :

// The handler function
function AddUp(Nums) { alert(Nums[1] + Nums[2] + Nums[3]) };

    // Create the pool
myPool = DP_AJAX.createPool();

    // Create the request
myRequest = DP_AJAX.createRequest(AddUp);

    // Add the calls to the request
myRequest.addCall("GET", "http://www.mysite.com/Add.htm", [5,10]);
myRequest.addCall("GET", "http://www.mysite.com/Add.htm", [4,6]);
myRequest.addCall("GET", "http://www.mysite.com/Add.htm", [7,13]);

    // Add the request to the pool
myPool.addRequest(myRequest);

中 的 每 一 个
" myRequest " 定义 处理 程序 。 addCall ( ) 方法 添加 多 个 调用 。 一旦 所有 三 个 都 是 , 结果 将 作为 三 个 响应 的 数组 发送 到 处理 程序 ( 以 添加 调用 的 相同 顺序 ) 。
您 可以 成对 调用 您 的 文件 , 甚至 可以 将 它们 捆绑 到 一 个 请求 中 调用 - 由 您 决定 。
希望 这 对 你 有 帮助 !

相关问题