【发布时间】:2011-05-22 13:32:56
【问题描述】:
我正在开发一个前端请求/数据管理系统,以便 clean up/organize my API calls/refactor 我如何与后端平台交互。我正在扩展 jquery ajax api 调用以与之交互,并且我正在寻找一些关于在何处粘贴特定于 api 的实现的建议。
请记住,这是一个网络应用平台,我正在努力让前端组件的管理变得更容易
我们的目标是从类似...的东西定义一个请求
var requestObj = new Object();
requestObj.callback = function(responseObj){deleteUserComplete(responseObj); };
requestObj[0] = new Object();
requestObj[0].module = "usermanager";
requestObj[0].context = "#someTable";
requestObj[0].action = "DELETE_USER";
requestObj[0].dataObj = new Object();
requestObj[0].dataObj.userId = $("#ui-tabs-4 .az-switch-panel-off input[name$=userId]").val();
到...
$("button.apiSubmit").apiManager('submitApi');
或
var options = {};
options.callback = someFunction;
options.context = "#someTable";
//etc...
$("button.apiSubmit").apiManager('submitApi', options);
我相信你明白了......但我想将丑陋的请求对象创建移动到工厂类型的对象(主要只是将表单处理成我的后端理解的对象)并移动特定于 api 的实现(模块、动作、上下文等)添加到标记中。
现在回答问题...
1) 将我的特定于 api 的请求信息移动到标记有哪些好处/缺陷?
2)(再次,非常令人信服的移动请求标记的信息是正确的举动)类标签或html5 data attributes(x-browser不是问题......它们是内部应用程序)?
EX:类属性将是...class="apiButton apiButton-module-MODULE_NAME apiButton-action-ACTION_NAME" - 显然有点丑陋...但是处理 htis 的简单易行的方法。
3) 是否有任何替代方法可以使我的 api 请求更可重用/更易于阅读?这是我与 php 交流的唯一方式,所以它非常...非常重要的是这个系统是可靠的。
【问题讨论】:
-
仅供参考,您实际上可以use
data-attributes in IE 6(这也是WHATWG的意图)。
标签: javascript jquery ajax oop web-applications