我想使用 Ajax 在 OFBiz 中执行操作而不刷新页面。该任务将类似于过滤器。当我选择任何复选框时,它应该执行一些操作并在同一页面中显示结果。
我需要做的所有步骤是什么?
我将不胜感激 controller.xml 的一些示例代码,javascript 调用 Ajax ..etc
谢谢。
要查看完整的端到端示例,请查看此OFBiz 页面
正如您所看到的,每当您更改产品配置时,产品价格都会通过 Ajax 调用进行更新。然后您可以自己找出包含 javascript 的 freemarker 文件和控制器进行计算并将其返回。
您可以通过 ajax 对ftl中的事件使用表单提交。这是来自 say an 的 ajax 调用示例代码ExampleCreateParty.ftl
:
$.ajax({
url: '<@ofbizUrl>addSecurityPermissionToSecurityGroup</@ofbizUrl>',
type: 'POST',
accepts: 'xml',
data: $("form#Permissions").serialize(),
success: function(e) { console.log(e);
var xmlDoc;
try {
xmlDoc = $.parseXML(e);
var error = $(xmlDoc).find("Message").find("Error").find("ErrorCode").text();
var errorMsg = $(xmlDoc).find("Message").find("Error").find("ErrorMessage").text();
if (error=='0'){alert(errorMsg);}
console.log(xmlDoc);
} catch (err) {
alert('Saved Successfully!');
}
},
error: function(e) { console.log(e); }
})
在这里,为了响应调用的服务,addSecurityPermissionToSecurityGroup
您可以指定响应controller.xml
,您可以在 ajax 调用本身的成功键中获得响应。