[转] 通过 PHP 和 Sajax 使用 Ajax(三)
2008-04-04 14:20
351 查看
通过 PHP 和 Sajax 使用 Ajax (三)
简单 Ajax 工具包如何把服务器端 PHP 与 JavaScript 集成Tyler Anderson , 自由作者, Stexar 公司2006 年 05 月 11 日
与 Sajax 集成
这一节将介绍什么是 Sajax,它如何模拟异步 JavaScript,以及当前的 Ajax 应用程序怎样转化成 Sajax 应用程序。
什么是 Sajax?
简单 Ajax 工具包(Sajax)是同步的异步 JavaScript 和 XML。同步的原因是,当前应用程序中使用的 XML HTTP 对象的细节,通过使用
Sajax.php库文件而被抽象出去。这使开发 Ajax 应用程序变得更加容易,因为编程出错的机会降低了。链接也变得更加容易,因为它们将只包含函数调用。基本上,Sajax 是一种*** Ajax 应用程序的模块化方式,通过预定的、动态的函数调用,使得应用程序的开发过程更加平滑。
模拟异步 JavaScript
在这一节中,要使用 Sajax 的几个方面来模拟 Ajax。其中一个是
sajax_init,它初始化 Sajax 库。接下来是
sajax_export函数,要调用它来通知 Sajax 有一个“面板”内容区,稍后会为它创建对应的 JavaScript 函数。针对应用程序需要的动态内容区的多少,可以根据需要为每个动态内容区调用
sajax_export,次数不限。
下一个要使用的函数是
sajax_handle_client_request。这个函数初始化 Sajax 的数据结构,让应用程序准备好处理客户请求。还要设置
$sajax_remote_uri。这是应用程序发送客户请求的目标 URL,与 Ajax 应用程序的链接中嵌入的 URL 类似。
最后,需要用
sajax_show_javascript函数把 Sajax JavaScript 函数包含在 JavaScript 中。
幕后发生了什么?
现在会发生什么?在幕后,Sajax 起的作用实际与 Ajax 相同。但是,Sajax 会替您设置 XML HTTP 对象,从而简化开发工作。它允许应用程序使用 JavaScript 函数用一种模块化的方式拥有多个内容区。Sajax 包使得 Ajax 开发更有效率,同时具有同样的幕后功能。
初始化 Sajax
现在开始 Sajax 应用程序。请拷贝 ajax-app.php 文件并把拷贝改名为 sajax-app.php。把文件放在与 ajax-app.php 文件相同的目录中。添加以下代码到文件开始:
清单 13. 初始化 Sajax
[code] |
修改链接
链接现在需要包含函数,以便把面板 ID 传递给对应的 JavaScript 函数。
清单 14. 应用程序中的面板链接
[code] "getPanel(0)">Managing content"getPanel(1)" >Adding content"getPanel(2)" >Saving new content"getPanel(3)" >Editing content"getPanel(4)" >Saving edited content"getPanel(5)" >Avoid adding duplicates"getPanel(6)" >Avoid editing a page that doesn't exist"getPanel(7)" >Deleting content"getPanel(8)" >Serving a page"getPanel(9)">Pulling it together: The CMS control page... |
替换 JavaScript
在继续之前,请从 Ajax 应用程序删除 JavaScrip。需要添加新的函数,这些新函数和 XML HTTP 对象无关。添加以下代码代替当前的 JavaScript 函数:
清单 15. 新的 JavaScript 函数
[code] ... function getPanel_cb(content) { document.getElementById('content').innerHTML = content; } function getPanel(panel_id){ x_panels(panel_id, getPanel_cb); }... |
sajax_show_javascript,它导入 Sajax 需要的 JavaScript 函数和其他要添加的
getPanel函数。这些添加的 JavaScript 函数把 Sajax 应用程序的核心带到浏览器,因为浏览器首次装入页面后,PHP 就没有作用了。
返回 Sajax 内容
现在需要修改 panels-ajax.php 文件以便适应 Sajax。拷贝并重命名 panels-ajax.php 文件为 panels-sajax.php 并把它放在与其他文件相同的目录下。修改它,如清单 16 所示。
清单 16. panels-sajax.php 的修改
[code] if(,它初始化 Sajax 库。接下来是 sajax_export函数,要调用它来通知 Sajax 有一个“面板”内容区,稍后会为它创建对应的 JavaScript 函数。针对应用程序需要的动态内容区的多少,可以根据需要为每个动态内容区调用 sajax_export,次数不限。 下一个要使用的函数是 sajax_handle_client_request。这个函数初始化 Sajax 的数据结构,让应用程序准备好处理客户请求。还要设置 $sajax_remote_uri。这是应用程序发送客户请求的目标 URL,与 Ajax 应用程序的链接中嵌入的 URL 类似。 最后,需要用 sajax_show_javascript函数把 Sajax JavaScript 函数包含在 JavaScript 中。 幕后发生了什么? 现在会发生什么?在幕后,Sajax 起的作用实际与 Ajax 相同。但是,Sajax 会替您设置 XML HTTP 对象,从而简化开发工作。它允许应用程序使用 JavaScript 函数用一种模块化的方式拥有多个内容区。Sajax 包使得 Ajax 开发更有效率,同时具有同样的幕后功能。 初始化 Sajax 现在开始 Sajax 应用程序。请拷贝 ajax-app.php 文件并把拷贝改名为 sajax-app.php。把文件放在与 ajax-app.php 文件相同的目录中。添加以下代码到文件开始: 清单 13. 初始化 Sajax
修改链接 链接现在需要包含函数,以便把面板 ID 传递给对应的 JavaScript 函数。 清单 14. 应用程序中的面板链接
替换 JavaScript 在继续之前,请从 Ajax 应用程序删除 JavaScrip。需要添加新的函数,这些新函数和 XML HTTP 对象无关。添加以下代码代替当前的 JavaScript 函数: 清单 15. 新的 JavaScript 函数
sajax_show_javascript,它导入 Sajax 需要的 JavaScript 函数和其他要添加的 getPanel函数。这些添加的 JavaScript 函数把 Sajax 应用程序的核心带到浏览器,因为浏览器首次装入页面后,PHP 就没有作用了。 返回 Sajax 内容 现在需要修改 panels-ajax.php 文件以便适应 Sajax。拷贝并重命名 panels-ajax.php 文件为 panels-sajax.php 并把它放在与其他文件相同的目录下。修改它,如清单 16 所示。 清单 16. panels-sajax.php 的修改
GET提交的变量。请注意“panels”被发送给 sajax_import函数。这应当是 GET数组中 rs变量的值。如果 $_GET['rs']的值是 panel,那么 panel_id变量就包含在 $_GET['rsargs'][0]中,这是发送给 x_panels函数的第一个参数,由 Sajax 库自动生成。 在返回适当的面板之前,代码必须输出两个字符(它们好像是 Sajax 库的一个 bug)。这两个字符不会在显示的 Web 页面的 HTML 源代码中出现。接下来,必须用 $_GET['rsargs'][0]替换剩下的到 $_GET['panel_id']的引用。最后,需要把导航链接修改成看起来与 sajax-app.php 文件中修改的链接一样。把对 loadHTML的调用换成 getPanel,要像以前一样传递 ID。 图 5. 集成了 Sajax 后 PHP 应用程序的浏览器输出示例 图片URL:https://www6.software.ibm.com/developerworks/cn/education/opensource/os-phpajax/fig05.jpg 应用程序的行为和输出示例如图 5 所示,与使用 Ajax 时的输出相同。 结束语 恭喜!您用 PHP 创建了 Ajax 应用程序并把它与 Sajax 成功地集成。这个应用程序(以及日后的异步 JavaScript 应用程序)会给使用它的那些人节约许多带宽和等候页面重载的时间,因为不必为每次点击都载入整个页面,只需载入必要的内容。这将使创建交互丰富的应用程序变得更为普遍。 下载 Source code for the PHP application: ftp://www6.software.ibm.com/software/developer/library/os-phpajax.sajax.source.zip 说明: 本文来自:http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065 版权归属IBM所有,本Blog只是处于转载学习更多技术目的 GET['rs'] == 'panels'){[/b] switch( 通过 PHP 和 Sajax 使用 Ajax (三)[b]简单 Ajax 工具包如何把服务器端 PHP 与 JavaScript 集成Tyler Anderson , 自由作者, Stexar 公司2006 年 05 月 11 日 与 Sajax 集成 这一节将介绍什么是 Sajax,它如何模拟异步 JavaScript,以及当前的 Ajax 应用程序怎样转化成 Sajax 应用程序。 什么是 Sajax? 简单 Ajax 工具包(Sajax)是同步的异步 JavaScript 和 XML。同步的原因是,当前应用程序中使用的 XML HTTP 对象的细节,通过使用 Sajax.php库文件而被抽象出去。这使开发 Ajax 应用程序变得更加容易,因为编程出错的机会降低了。链接也变得更加容易,因为它们将只包含函数调用。基本上,Sajax 是一种*** Ajax 应用程序的模块化方式,通过预定的、动态的函数调用,使得应用程序的开发过程更加平滑。 模拟异步 JavaScript 在这一节中,要使用 Sajax 的几个方面来模拟 Ajax。其中一个是 sajax_init,它初始化 Sajax 库。接下来是 sajax_export函数,要调用它来通知 Sajax 有一个“面板”内容区,稍后会为它创建对应的 JavaScript 函数。针对应用程序需要的动态内容区的多少,可以根据需要为每个动态内容区调用 sajax_export,次数不限。 下一个要使用的函数是 sajax_handle_client_request。这个函数初始化 Sajax 的数据结构,让应用程序准备好处理客户请求。还要设置 $sajax_remote_uri。这是应用程序发送客户请求的目标 URL,与 Ajax 应用程序的链接中嵌入的 URL 类似。 最后,需要用 sajax_show_javascript函数把 Sajax JavaScript 函数包含在 JavaScript 中。 幕后发生了什么? 现在会发生什么?在幕后,Sajax 起的作用实际与 Ajax 相同。但是,Sajax 会替您设置 XML HTTP 对象,从而简化开发工作。它允许应用程序使用 JavaScript 函数用一种模块化的方式拥有多个内容区。Sajax 包使得 Ajax 开发更有效率,同时具有同样的幕后功能。 初始化 Sajax 现在开始 Sajax 应用程序。请拷贝 ajax-app.php 文件并把拷贝改名为 sajax-app.php。把文件放在与 ajax-app.php 文件相同的目录中。添加以下代码到文件开始: 清单 13. 初始化 Sajax
修改链接 链接现在需要包含函数,以便把面板 ID 传递给对应的 JavaScript 函数。 清单 14. 应用程序中的面板链接
替换 JavaScript 在继续之前,请从 Ajax 应用程序删除 JavaScrip。需要添加新的函数,这些新函数和 XML HTTP 对象无关。添加以下代码代替当前的 JavaScript 函数: 清单 15. 新的 JavaScript 函数
sajax_show_javascript,它导入 Sajax 需要的 JavaScript 函数和其他要添加的 getPanel函数。这些添加的 JavaScript 函数把 Sajax 应用程序的核心带到浏览器,因为浏览器首次装入页面后,PHP 就没有作用了。 返回 Sajax 内容 现在需要修改 panels-ajax.php 文件以便适应 Sajax。拷贝并重命名 panels-ajax.php 文件为 panels-sajax.php 并把它放在与其他文件相同的目录下。修改它,如清单 16 所示。 清单 16. panels-sajax.php 的修改
GET提交的变量。请注意“panels”被发送给 sajax_import函数。这应当是 GET数组中 rs变量的值。如果 $_GET['rs']的值是 panel,那么 panel_id变量就包含在 $_GET['rsargs'][0]中,这是发送给 x_panels函数的第一个参数,由 Sajax 库自动生成。 在返回适当的面板之前,代码必须输出两个字符(它们好像是 Sajax 库的一个 bug)。这两个字符不会在显示的 Web 页面的 HTML 源代码中出现。接下来,必须用 $_GET['rsargs'][0]替换剩下的到 $_GET['panel_id']的引用。最后,需要把导航链接修改成看起来与 sajax-app.php 文件中修改的链接一样。把对 loadHTML的调用换成 getPanel,要像以前一样传递 ID。 图 5. 集成了 Sajax 后 PHP 应用程序的浏览器输出示例 图片URL:https://www6.software.ibm.com/developerworks/cn/education/opensource/os-phpajax/fig05.jpg 应用程序的行为和输出示例如图 5 所示,与使用 Ajax 时的输出相同。 结束语 恭喜!您用 PHP 创建了 Ajax 应用程序并把它与 Sajax 成功地集成。这个应用程序(以及日后的异步 JavaScript 应用程序)会给使用它的那些人节约许多带宽和等候页面重载的时间,因为不必为每次点击都载入整个页面,只需载入必要的内容。这将使创建交互丰富的应用程序变得更为普遍。 下载 Source code for the PHP application: ftp://www6.software.ibm.com/software/developer/library/os-phpajax.sajax.source.zip 说明: 本文来自:http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065 版权归属IBM所有,本Blog只是处于转载学习更多技术目的 GET['rsargs'][0]){[/b] case 0:... case 9: print("##"); require('content/panel-'. 通过 PHP 和 Sajax 使用 Ajax (三)[b]简单 Ajax 工具包如何把服务器端 PHP 与 JavaScript 集成Tyler Anderson , 自由作者, Stexar 公司2006 年 05 月 11 日 与 Sajax 集成 这一节将介绍什么是 Sajax,它如何模拟异步 JavaScript,以及当前的 Ajax 应用程序怎样转化成 Sajax 应用程序。 什么是 Sajax? 简单 Ajax 工具包(Sajax)是同步的异步 JavaScript 和 XML。同步的原因是,当前应用程序中使用的 XML HTTP 对象的细节,通过使用 Sajax.php库文件而被抽象出去。这使开发 Ajax 应用程序变得更加容易,因为编程出错的机会降低了。链接也变得更加容易,因为它们将只包含函数调用。基本上,Sajax 是一种*** Ajax 应用程序的模块化方式,通过预定的、动态的函数调用,使得应用程序的开发过程更加平滑。 模拟异步 JavaScript 在这一节中,要使用 Sajax 的几个方面来模拟 Ajax。其中一个是 sajax_init,它初始化 Sajax 库。接下来是 sajax_export函数,要调用它来通知 Sajax 有一个“面板”内容区,稍后会为它创建对应的 JavaScript 函数。针对应用程序需要的动态内容区的多少,可以根据需要为每个动态内容区调用 sajax_export,次数不限。 下一个要使用的函数是 sajax_handle_client_request。这个函数初始化 Sajax 的数据结构,让应用程序准备好处理客户请求。还要设置 $sajax_remote_uri。这是应用程序发送客户请求的目标 URL,与 Ajax 应用程序的链接中嵌入的 URL 类似。 最后,需要用 sajax_show_javascript函数把 Sajax JavaScript 函数包含在 JavaScript 中。 幕后发生了什么? 现在会发生什么?在幕后,Sajax 起的作用实际与 Ajax 相同。但是,Sajax 会替您设置 XML HTTP 对象,从而简化开发工作。它允许应用程序使用 JavaScript 函数用一种模块化的方式拥有多个内容区。Sajax 包使得 Ajax 开发更有效率,同时具有同样的幕后功能。 初始化 Sajax 现在开始 Sajax 应用程序。请拷贝 ajax-app.php 文件并把拷贝改名为 sajax-app.php。把文件放在与 ajax-app.php 文件相同的目录中。添加以下代码到文件开始: 清单 13. 初始化 Sajax
修改链接 链接现在需要包含函数,以便把面板 ID 传递给对应的 JavaScript 函数。 清单 14. 应用程序中的面板链接
替换 JavaScript 在继续之前,请从 Ajax 应用程序删除 JavaScrip。需要添加新的函数,这些新函数和 XML HTTP 对象无关。添加以下代码代替当前的 JavaScript 函数: 清单 15. 新的 JavaScript 函数
sajax_show_javascript,它导入 Sajax 需要的 JavaScript 函数和其他要添加的 getPanel函数。这些添加的 JavaScript 函数把 Sajax 应用程序的核心带到浏览器,因为浏览器首次装入页面后,PHP 就没有作用了。 返回 Sajax 内容 现在需要修改 panels-ajax.php 文件以便适应 Sajax。拷贝并重命名 panels-ajax.php 文件为 panels-sajax.php 并把它放在与其他文件相同的目录下。修改它,如清单 16 所示。 清单 16. panels-sajax.php 的修改
GET提交的变量。请注意“panels”被发送给 sajax_import函数。这应当是 GET数组中 rs变量的值。如果 $_GET['rs']的值是 panel,那么 panel_id变量就包含在 $_GET['rsargs'][0]中,这是发送给 x_panels函数的第一个参数,由 Sajax 库自动生成。 在返回适当的面板之前,代码必须输出两个字符(它们好像是 Sajax 库的一个 bug)。这两个字符不会在显示的 Web 页面的 HTML 源代码中出现。接下来,必须用 $_GET['rsargs'][0]替换剩下的到 $_GET['panel_id']的引用。最后,需要把导航链接修改成看起来与 sajax-app.php 文件中修改的链接一样。把对 loadHTML的调用换成 getPanel,要像以前一样传递 ID。 图 5. 集成了 Sajax 后 PHP 应用程序的浏览器输出示例 图片URL:https://www6.software.ibm.com/developerworks/cn/education/opensource/os-phpajax/fig05.jpg 应用程序的行为和输出示例如图 5 所示,与使用 Ajax 时的输出相同。 结束语 恭喜!您用 PHP 创建了 Ajax 应用程序并把它与 Sajax 成功地集成。这个应用程序(以及日后的异步 JavaScript 应用程序)会给使用它的那些人节约许多带宽和等候页面重载的时间,因为不必为每次点击都载入整个页面,只需载入必要的内容。这将使创建交互丰富的应用程序变得更为普遍。 下载 Source code for the PHP application: ftp://www6.software.ibm.com/software/developer/library/os-phpajax.sajax.source.zip 说明: 本文来自:http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065 版权归属IBM所有,本Blog只是处于转载学习更多技术目的 GET['rsargs'][0][/b].'.html'); $panel_id_next = 通过 PHP 和 Sajax 使用 Ajax (三)[b]简单 Ajax 工具包如何把服务器端 PHP 与 JavaScript 集成Tyler Anderson , 自由作者, Stexar 公司2006 年 05 月 11 日 与 Sajax 集成 这一节将介绍什么是 Sajax,它如何模拟异步 JavaScript,以及当前的 Ajax 应用程序怎样转化成 Sajax 应用程序。 什么是 Sajax? 简单 Ajax 工具包(Sajax)是同步的异步 JavaScript 和 XML。同步的原因是,当前应用程序中使用的 XML HTTP 对象的细节,通过使用 Sajax.php库文件而被抽象出去。这使开发 Ajax 应用程序变得更加容易,因为编程出错的机会降低了。链接也变得更加容易,因为它们将只包含函数调用。基本上,Sajax 是一种*** Ajax 应用程序的模块化方式,通过预定的、动态的函数调用,使得应用程序的开发过程更加平滑。 模拟异步 JavaScript 在这一节中,要使用 Sajax 的几个方面来模拟 Ajax。其中一个是 sajax_init,它初始化 Sajax 库。接下来是 sajax_export函数,要调用它来通知 Sajax 有一个“面板”内容区,稍后会为它创建对应的 JavaScript 函数。针对应用程序需要的动态内容区的多少,可以根据需要为每个动态内容区调用 sajax_export,次数不限。 下一个要使用的函数是 sajax_handle_client_request。这个函数初始化 Sajax 的数据结构,让应用程序准备好处理客户请求。还要设置 $sajax_remote_uri。这是应用程序发送客户请求的目标 URL,与 Ajax 应用程序的链接中嵌入的 URL 类似。 最后,需要用 sajax_show_javascript函数把 Sajax JavaScript 函数包含在 JavaScript 中。 幕后发生了什么? 现在会发生什么?在幕后,Sajax 起的作用实际与 Ajax 相同。但是,Sajax 会替您设置 XML HTTP 对象,从而简化开发工作。它允许应用程序使用 JavaScript 函数用一种模块化的方式拥有多个内容区。Sajax 包使得 Ajax 开发更有效率,同时具有同样的幕后功能。 初始化 Sajax 现在开始 Sajax 应用程序。请拷贝 ajax-app.php 文件并把拷贝改名为 sajax-app.php。把文件放在与 ajax-app.php 文件相同的目录中。添加以下代码到文件开始: 清单 13. 初始化 Sajax
修改链接 链接现在需要包含函数,以便把面板 ID 传递给对应的 JavaScript 函数。 清单 14. 应用程序中的面板链接
替换 JavaScript 在继续之前,请从 Ajax 应用程序删除 JavaScrip。需要添加新的函数,这些新函数和 XML HTTP 对象无关。添加以下代码代替当前的 JavaScript 函数: 清单 15. 新的 JavaScript 函数
sajax_show_javascript,它导入 Sajax 需要的 JavaScript 函数和其他要添加的 getPanel函数。这些添加的 JavaScript 函数把 Sajax 应用程序的核心带到浏览器,因为浏览器首次装入页面后,PHP 就没有作用了。 返回 Sajax 内容 现在需要修改 panels-ajax.php 文件以便适应 Sajax。拷贝并重命名 panels-ajax.php 文件为 panels-sajax.php 并把它放在与其他文件相同的目录下。修改它,如清单 16 所示。 清单 16. panels-sajax.php 的修改
GET提交的变量。请注意“panels”被发送给 sajax_import函数。这应当是 GET数组中 rs变量的值。如果 $_GET['rs']的值是 panel,那么 panel_id变量就包含在 $_GET['rsargs'][0]中,这是发送给 x_panels函数的第一个参数,由 Sajax 库自动生成。 在返回适当的面板之前,代码必须输出两个字符(它们好像是 Sajax 库的一个 bug)。这两个字符不会在显示的 Web 页面的 HTML 源代码中出现。接下来,必须用 $_GET['rsargs'][0]替换剩下的到 $_GET['panel_id']的引用。最后,需要把导航链接修改成看起来与 sajax-app.php 文件中修改的链接一样。把对 loadHTML的调用换成 getPanel,要像以前一样传递 ID。 图 5. 集成了 Sajax 后 PHP 应用程序的浏览器输出示例 图片URL:https://www6.software.ibm.com/developerworks/cn/education/opensource/os-phpajax/fig05.jpg 应用程序的行为和输出示例如图 5 所示,与使用 Ajax 时的输出相同。 结束语 恭喜!您用 PHP 创建了 Ajax 应用程序并把它与 Sajax 成功地集成。这个应用程序(以及日后的异步 JavaScript 应用程序)会给使用它的那些人节约许多带宽和等候页面重载的时间,因为不必为每次点击都载入整个页面,只需载入必要的内容。这将使创建交互丰富的应用程序变得更为普遍。 下载 Source code for the PHP application: ftp://www6.software.ibm.com/software/developer/library/os-phpajax.sajax.source.zip 说明: 本文来自:http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065 版权归属IBM所有,本Blog只是处于转载学习更多技术目的 GET['rsargs'][0][/b] + 1; $panel_id_prev = 通过 PHP 和 Sajax 使用 Ajax (三)[b]简单 Ajax 工具包如何把服务器端 PHP 与 JavaScript 集成Tyler Anderson , 自由作者, Stexar 公司2006 年 05 月 11 日 与 Sajax 集成 这一节将介绍什么是 Sajax,它如何模拟异步 JavaScript,以及当前的 Ajax 应用程序怎样转化成 Sajax 应用程序。 什么是 Sajax? 简单 Ajax 工具包(Sajax)是同步的异步 JavaScript 和 XML。同步的原因是,当前应用程序中使用的 XML HTTP 对象的细节,通过使用 Sajax.php库文件而被抽象出去。这使开发 Ajax 应用程序变得更加容易,因为编程出错的机会降低了。链接也变得更加容易,因为它们将只包含函数调用。基本上,Sajax 是一种*** Ajax 应用程序的模块化方式,通过预定的、动态的函数调用,使得应用程序的开发过程更加平滑。 模拟异步 JavaScript 在这一节中,要使用 Sajax 的几个方面来模拟 Ajax。其中一个是 sajax_init,它初始化 Sajax 库。接下来是 sajax_export函数,要调用它来通知 Sajax 有一个“面板”内容区,稍后会为它创建对应的 JavaScript 函数。针对应用程序需要的动态内容区的多少,可以根据需要为每个动态内容区调用 sajax_export,次数不限。 下一个要使用的函数是 sajax_handle_client_request。这个函数初始化 Sajax 的数据结构,让应用程序准备好处理客户请求。还要设置 $sajax_remote_uri。这是应用程序发送客户请求的目标 URL,与 Ajax 应用程序的链接中嵌入的 URL 类似。 最后,需要用 sajax_show_javascript函数把 Sajax JavaScript 函数包含在 JavaScript 中。 幕后发生了什么? 现在会发生什么?在幕后,Sajax 起的作用实际与 Ajax 相同。但是,Sajax 会替您设置 XML HTTP 对象,从而简化开发工作。它允许应用程序使用 JavaScript 函数用一种模块化的方式拥有多个内容区。Sajax 包使得 Ajax 开发更有效率,同时具有同样的幕后功能。 初始化 Sajax 现在开始 Sajax 应用程序。请拷贝 ajax-app.php 文件并把拷贝改名为 sajax-app.php。把文件放在与 ajax-app.php 文件相同的目录中。添加以下代码到文件开始: 清单 13. 初始化 Sajax
修改链接 链接现在需要包含函数,以便把面板 ID 传递给对应的 JavaScript 函数。 清单 14. 应用程序中的面板链接
替换 JavaScript 在继续之前,请从 Ajax 应用程序删除 JavaScrip。需要添加新的函数,这些新函数和 XML HTTP 对象无关。添加以下代码代替当前的 JavaScript 函数: 清单 15. 新的 JavaScript 函数
sajax_show_javascript,它导入 Sajax 需要的 JavaScript 函数和其他要添加的 getPanel函数。这些添加的 JavaScript 函数把 Sajax 应用程序的核心带到浏览器,因为浏览器首次装入页面后,PHP 就没有作用了。 返回 Sajax 内容 现在需要修改 panels-ajax.php 文件以便适应 Sajax。拷贝并重命名 panels-ajax.php 文件为 panels-sajax.php 并把它放在与其他文件相同的目录下。修改它,如清单 16 所示。 清单 16. panels-sajax.php 的修改
GET提交的变量。请注意“panels”被发送给 sajax_import函数。这应当是 GET数组中 rs变量的值。如果 $_GET['rs']的值是 panel,那么 panel_id变量就包含在 $_GET['rsargs'][0]中,这是发送给 x_panels函数的第一个参数,由 Sajax 库自动生成。 在返回适当的面板之前,代码必须输出两个字符(它们好像是 Sajax 库的一个 bug)。这两个字符不会在显示的 Web 页面的 HTML 源代码中出现。接下来,必须用 $_GET['rsargs'][0]替换剩下的到 $_GET['panel_id']的引用。最后,需要把导航链接修改成看起来与 sajax-app.php 文件中修改的链接一样。把对 loadHTML的调用换成 getPanel,要像以前一样传递 ID。 图 5. 集成了 Sajax 后 PHP 应用程序的浏览器输出示例 图片URL:https://www6.software.ibm.com/developerworks/cn/education/opensource/os-phpajax/fig05.jpg 应用程序的行为和输出示例如图 5 所示,与使用 Ajax 时的输出相同。 结束语 恭喜!您用 PHP 创建了 Ajax 应用程序并把它与 Sajax 成功地集成。这个应用程序(以及日后的异步 JavaScript 应用程序)会给使用它的那些人节约许多带宽和等候页面重载的时间,因为不必为每次点击都载入整个页面,只需载入必要的内容。这将使创建交互丰富的应用程序变得更为普遍。 下载 Source code for the PHP application: ftp://www6.software.ibm.com/software/developer/library/os-phpajax.sajax.source.zip 说明: 本文来自:http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065 版权归属IBM所有,本Blog只是处于转载学习更多技术目的 GET['rsargs'][0][/b] - 1; if($panel_id_prev > = 0){ print("getPanel(".$panel_id_prev.")/">Previous Panel ");... print("getPanel(".$panel_id_next.")/">Next Panel");...[/code] |
GET提交的变量。请注意“panels”被发送给
sajax_import函数。这应当是
GET数组中
rs变量的值。如果
$_GET['rs']的值是 panel,那么
panel_id变量就包含在
$_GET['rsargs'][0]中,这是发送给
x_panels函数的第一个参数,由 Sajax 库自动生成。
在返回适当的面板之前,代码必须输出两个字符(它们好像是 Sajax 库的一个 bug)。这两个字符不会在显示的 Web 页面的 HTML 源代码中出现。接下来,必须用
$_GET['rsargs'][0]替换剩下的到
$_GET['panel_id']的引用。最后,需要把导航链接修改成看起来与 sajax-app.php 文件中修改的链接一样。把对
loadHTML的调用换成
getPanel,要像以前一样传递 ID。
图 5. 集成了 Sajax 后 PHP 应用程序的浏览器输出示例
图片URL:https://www6.software.ibm.com/developerworks/cn/education/opensource/os-phpajax/fig05.jpg
应用程序的行为和输出示例如图 5 所示,与使用 Ajax 时的输出相同。
结束语
恭喜!您用 PHP 创建了 Ajax 应用程序并把它与 Sajax 成功地集成。这个应用程序(以及日后的异步 JavaScript 应用程序)会给使用它的那些人节约许多带宽和等候页面重载的时间,因为不必为每次点击都载入整个页面,只需载入必要的内容。这将使创建交互丰富的应用程序变得更为普遍。
下载
Source code for the PHP application:
ftp://www6.software.ibm.com/software/developer/library/os-phpajax.sajax.source.zip
说明:
本文来自:http://www.ibm.com/developerworks/cn/views/opensource/tutorials.jsp?cv_doc_id=109065
版权归属IBM所有,本Blog只是处于转载学习更多技术目的
相关文章推荐
- [转] 通过 PHP 和 Sajax 使用 Ajax(二)
- [转] 通过 PHP 和 Sajax 使用 Ajax(三)
- [转] 通过 PHP 和 Sajax 使用 Ajax(二)
- 通过 PHP 和 Sajax 使用 Ajax
- [转] 通过 PHP 和 Sajax 使用 Ajax(三)
- [转]通过 PHP 和 Sajax 使用 Ajax (一)
- 通过PHP和Sajax使用Ajax之JavaScript
- [转]通过 PHP 和 Sajax 使用 Ajax (一)
- 在PHP中使用ASP.NET AJAX
- AJAX实现页面无刷新发表评论(post请求,服务器端使用php)
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
- 在PHP中使用ASP.NET AJAX
- 在MVC中如何在使用 MicrosoftMvcValidation验证的前提下使用 jQuery.Ajax 提交数据的时候检查验证是否通过
- AJAX在PHP中的简单使用 (post)
- 使用ajax,结合jquery,php实现图片上传预览功能
- php使用 ajax操作购物车
- 使用PHP和AJAX制作日历
- jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
- C#使用ListJson通过php和平台进行通信
- [Js笔记]Ajax通过GET方式与PHP进行交互