2

我正在关注您的示例“对 WebFlow 的 Ajax 调用”,但我没有让它工作。您能否分享您的示例。我的问题是我想从页面进行 ajax 调用并渲染它的某些部分,但我从成功函数中得到的是整个页面内容。

这就是我所拥有的。

这是在我的xxx-flow.xml

    <on-entry>
        <evaluate
            expression="requirementService.getRequirementDetailsForEdit(flowRequestContext)"
            result="flowScope.editableRequirement" />
    </on-entry>
    <transition on="addEmptySkillRequirements">
        <evaluate expression="requirementService.addEmptySkillRequirementForEdit(flowRequestContext)" 
        result="flowScope.content123"/>
    </transition>

    <transition on="continue" to="listRequirements" />
</view-state>

这是我的 *.jsp 调用

<form id="myForm" method="post" action="${flowExecutionUrl}&_eventId=addEmptySkillRequirements&ajaxSource=true&fragments=content">
     <input type="submit" value="Insert111" name="_eventId_addEmptySkillRequirements" id="submitMyForm" onclick="insertData12()"/>
</form>

在同一个jsp中,这是我的ajax调用

function insertData12() {

    $.ajax({
                type : "POST",
                url : '${flowExecutionUrl}&_eventId=addEmptySkillRequirements&ajaxSource=true&fragments=content',
                data : $("#myForm").serialize(),
                dataType: "text",
                accepts: "text/html",


                success : function(content) {
                    alert("success" + content);
                     $('#content').html(content);

                },
                error : function(data) {
                    alert('fail' );

                }
            });
    return false;
};

这是我的tiles.xml

<definition name="editRequirement" extends="base.definition">
    <put-attribute name="title" value="Requirement List" />
    <put-attribute name="content" value="/pages/requirements/editReqDetails.jsp"  />
</definition>
4

2 回答 2

0

如果您仍然遇到问题,请使用 &ajaxSource=insert_data,其中 'insert_data' 是您的按钮的 ID。详情请看我更新的帖子:

对 WebFlow 的 Ajax 调用

于 2013-06-12T03:49:03.560 回答
0

如果您只想呈现片段“内容”,则必须放入
<render fragments="content"/>您的流程定义:

<transition on="addEmptySkillRequirements">
    <evaluate expression="requirementService.addEmptySkillRequirementForEdit(flowRequestContext)" 
    result="flowScope.content123"/>
    <render fragments="content"/>
</transition>
于 2012-11-20T14:45:01.600 回答