通过AJAX更新渲染页面的所有元素的正确方法是什么?
-
23-09-2019 - |
题
我有一个复杂的页面由PHP渲染,并希望通过Ajax长期投票将页面的所有元素保持最新。是否有某种一般 /聪明的方法来设计基础架构来支持此基础架构,而无需手动指定每个元素即可更新?只是寻找想法。谢谢!
解决方案
使用jQuery,我将发送一个逗号分隔的jQuery选择器列表,以更新到服务器。服务器最终将通过阅读这些选择器并生产HTML来响应,以填充与选择器的元素:
$.get("/updater", { elementsToUpdate: "#someDiv,#someTable,#someOtherElement"}, function(json) {
$.each(json, function(k, v) {
// the key is the selector, the value is the
// HTML to set to that (or those) element(s):
$(k).html(v);
});
}, "json"); // we are expecting the server to return JSON
服务器将通过将JSON发送给客户端具有以下结构:
{"#someDiv":"this is some HTML to fill up div with ID someDiv","#someOtherElement":"here is some more HTML","#someTable":"here is some more HTML"}
其他提示
也许在要通过AJAX更新的所有要素中添加特殊类,您也可以在其他属性中编码其他数据
<a class="ajaxUpdate" data="{'a':'json or whatever', 'put whatever here':'ok'}">test</a>
然后,使用jQuery,您可以轻松地删除该数据并进行评估,并在Ajax中使用它
您可以使用Web部件页面并通过SharePoint Designer自定义它们,但不幸在SharePoint 2013 Foundation中不可用设计管理员更高级的页面自定义。
将您的页面元素作为私人数据保持结构,并具有公众元素来更新它们
var page = (function(){
var private_data = {
//json
};
return {
workOnData : function(){//process the data}
}
})()
这是您可以确保页面数据安全和平滑的好方法。
根据您的问题,我可以看到您已创建了两个类,它们是
- 版本.class
- open.class
来自您的课程,您正在获得“Titlescreen”类?
只有在Version.class中只有主要方法。 所以,版本的main()方法.Class只能是入口点。
您可以像以下内容运行程序:
java版本标题屏开
TitleyCreen可以是该程序的输入。
不隶属于 StackOverflow