WEB开发网
开发学院网页设计JavaScript 用 E4X 和 Prototype 创建 Ajax mindreader 应用程... 阅读

用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 2 部分: 使 mindreader 应用程序更智能化

 2010-03-09 00:00:00 来源:WEB开发网   
核心提示: 还可以使用 $F() 函数简化对表单元素的访问,例如,用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 2 部分: 使 mindreader 应用程序更智能化(9),可以把 newTarget = document.getElementById("

还可以使用 $F() 函数简化对表单元素的访问。例如,可以把 newTarget = document.getElementById("targetForm").elements[0].value; 替换为 newTarget = $F("newTargetDisplay");。

这些函数使用 HTML 元素的 ID 属性,所以一定要在 HTML 文件中包含 ID 属性。

现在看看如何集成这个应用程序和后端数据库。

请求知识库

使用 Prototype 的 Ajax.Request 对象请求知识库。可以使用这个对象发送 HTTP 请求并根据结果调用一个新函数。在这个示例中,希望请求一个代表知识库的 XML 字符串,然后使用这个字符串创建一个 XML 对象,见清单 10。

清单 10. 在 e4x.js 中请求知识库

function get_knowledge_base(){ 
 
 new Ajax.Request("knowledgebase.php", 
   {method: "get", 
    parameters: {getkb: 'YES'}, 
    onSuccess: function(transport){ 
      kstring = transport.responseText; 
      knowledgeBase = new XML(kstring); 
      start_over(); 
    } 
   })   
} 

在创建新的 Ajax.Request 对象时,要传递许多数据。首先,要提供 HTTP 请求的 URL。可以指定主机名,但是一般来说 Ajax 请求必须来自与发出请求的页面相同的服务器和端口,所以我们只使用相对 URL。

还需要指定希望使用 GET 方法,并指定一个值为 YES 的 getkb 参数。可以使用 parameters 参数设置多个值,稍后将会见到。

这个函数最重要的部分可能是 onSuccess 处理函数,它告诉对象在请求成功时应该做什么。Prototype 定义了 7 个不同的处理函数,所以可以处理几乎任何情况。当请求成功时,脚本提取出请求的文本(请记住,这仅仅是代表文档的 XML),并使用它创建一个新的 XML() 对象 knowledgeBase。完成这些之后,只需调用 start_over() 函数开始显示页面。

编缉推荐阅读以下文章

  • 用 E4X 和 Prototype 创建 Ajax mindreader 应用程序,第 1 部分: 构建 Twenty Questions 基础结构

上一页  4 5 6 7 8 9 10  下一页

Tags:EX Prototype 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接