构建 pureXML 和 JSON 应用程序,第 3 部分: 为 pureXML 创建 OpenSocial 小工具
2010-02-04 00:00:00 来源:WEB开发网第二,加入 清单 1 中所示的 JavaScript 文件 PureJSON.js。在这个小工具加载时,PureJSON.js 将被包含在这个页面上,以使所有 POST 请求函数对 HTML 表动作均可用。
清单 4. 加载 JavaScript 文件
<script type="text/javascript" src="./PureJSON.js"></script>
第三,参照 清单 5 添加另一个 <script> 标签。每个 JavaScript 函数都会匹配在 HTML 表中声明的一个用户动作(我们将在下一小节 中定义)并会调用 清单 1 中的 PureJSON.js 内所定义的一个函数。当这个代码块加载时,new gadgets.MiniMessage(_MODULE_ID_) 会创建一个 minimessage 对象。调用这个标签底部的函数 gadgets.util.registerOnLoadHandler(gadgets.window.adjustHeight) 的目的是要将这个小工具注册到 OpenSocial 容器,并告知该容器修改边框的大小以便在呈现时能够恰好适合小工具的内容。在这个脚本标签中,我们还要通过覆盖 response 和 displayJSONobj 函数来向用户显示查询结果。
清单 5. 添加小工具函数
<script type="text/javascript" src="./PureJSON.js"></script>
<script type="text/javascript">
var msg = new gadgets.MiniMessage(__MODULE_ID__);
function displayJSONobj(obj) {
var str = "The returned record is empty, it might not exist";
if(obj.text!=""){
str = obj.text;
}
msg.createDismissibleMessage(str);
gadgets.window.adjustHeight();
};
function callGetJSONDoc() {
getJSONDocumentByKey(document.getElementById("key1").value);
};
function getJSONDocumentByKeyReturn(obj) {
var str = obj.text;
msg.createDismissibleMessage(str);
gadgets.window.adjustHeight();
};
function callInsertJSON() {
insertJSON(document.getElementById("key2").value,
document.getElementById("document1").value);
};
function callUpdateJSON() {
updateJSON(document.getElementById("key3").value,
document.getElementById("document2").value);
};
function callDeleteDoc() {
deleteDocument(document.getElementById("key4").value);
};
function response(obj) {
var str = gadgets.json.parse(gadgets.util.unescapeString(obj.text));
if(str.updateCount == 1){
var successMsg = msg.createDismissibleMessage(
"Received returned code = 1. Transaction successful!");
successMsg.style.color = "green";
}
else {
var failMsg = msg.createDismissibleMessage(
"Did not receive returned code = 1. Transaction may have failed!");
failMsg.style.color = "red";
}
gadgets.window.adjustHeight();
};
gadgets.util.registerOnLoadHandler(gadgets.window.adjustHeight);
</script>
编缉推荐阅读以下文章
- 构建 pureXML 和 JSON 应用程序,第 2 部分: 为公开 JSON 的 pureXML 创建 Universal Services
- 构建 pureXML 和 JSON 应用程序,第 1 部分: 使用 DB2 pureXML 储存和查询 JSON
更多精彩
赞助商链接