获取Action类结果(返回)JQuery中的字符串ajax成功

时间:2013-07-31 09:39:25

标签: jsp jquery

在我的JSP页面中,我有一个表单和一些div

<form id="personDetail" name="personDetail" action="personDetail">
<!-- input fields -->
</form>
<div id="sucess"></div>
<div id="error"></div>
<div id="edit"></div>
<div id="input"></div>

我正在使用ajax调用来提交表单。

在我的动作类中,我有以下代码

ActionClas

if(condition1)
{
//processing statements
return "success";
}
else if(condition2)
{
//processing statements
return "error";
}
else if(condition3)
{
//processing statements
return "input";
}
else if(condition4)
{
//processing statements
return "edit";
}

Ajax调用

$(document).on('click', ".saveButton", function(){
        var formId='personDetail';
        var form = $("#"+formId);
        form.submit(function ()
        {
                var urlAction=form.attr('action');
                var dataFields=form.serialize();
                $.ajax({
            type: "post",
            url: urlAction,
            data: dataFields,
            success: function (data) {
                    var ajaxResult= $('<div/>').html(data),
                    $ajaxContent = ajaxResult.find('#ajaxContent');
                var ajaxActionResult=$('<div/>').html($ajaxContent);
                $("#success").html(ajaxActionResult);
            }
        });
         return false;
    });
});

在struts.xml中,我已经为每个结果提到了一些JSP,它在Ajax中返回。

所有人都回归成功并获得HTML内容。我使用 id =“成功”设置为 DIV 。所以所有结果都设置为DIV。

我想在适当的div中显示每个结果。也就是说,如果动作类返回字符串是错误,我想将结果设置为Div,其中 id =“error”,如果它是输入 ,然后结果应设置为DIV, id =“input”,类似于其他人。

由于所有结果都在Ajax中恢复成功,因此在ajax中使用错误也没有意义。而且编辑和输入也是不可能的。

我怎样才能做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

请参阅:Getting return value from action with jquery.forms.js options...MVC3

PS:只需更改动作类以返回Json字符串..并在“afterSubmit”函数中使用该特定键(response.YOUR_KEY ==“YOUR_TEST_VALUE”)以获得所需的输出。