如何在ofbiz中执行ajax调用doaction

时间:2013-08-13 06:39:39

标签: ajax ofbiz

我想使用Ajax在OFBiz中执行操作而不刷新页面。任务将像过滤器一样。当我选择任何Checkbox时,它应该执行一些操作并在同一页面中显示结果。

我需要做的所有步骤是什么?

我很感激controller.xml的一些示例代码,javascript调用Ajax ..etc

感谢。

2 个答案:

答案 0 :(得分:0)

您可以通过ajax在 ftl 中的事件中使用表单提交。这是来自ExampleCreateParty.ftl

的ajax调用的示例代码
$.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调用本身的成功键中获取该响应。< / p>

答案 1 :(得分:0)

要查看完整的端到端示例,请查看this OFBiz页面

正如您在更改产品配置时所看到的那样,产品价格会使用Ajax调用进行更新。然后你可以自己找出包含javascript的freemarker文件和控制器进行计算并将其返回。