使用 AJAX 将表单发送到服务器无法正常工作 struts2



我是 struts 2 的新手,我想通过 ajax 发送表单数据,我能够发送数据并且服务器正确响应,但是当响应出现时,页面会自动转到另一个页面并显示该响应。

var copyEntryFormsubmit = {
            dataType :'json',
            success : function(json) {
                var v = json.parse(json);
            }
        };
        $("#copyEntryForm").submit( function() {
            $(this).ajax(copyEntryFormsubmit);
        });
    <s:form action="copyEventSubmit.action" id="copyEntryForm">
<s:submit key="submit" id="submitcss"></s:submit>
我不

熟悉Struts2,但看起来你需要在jQuery中有一个preventDefault()。 提交中的侦听器应如下所示:

$("#copyEntryForm").submit( function(e) {
    e.preventDefault();
    //code here
});

e是要传递的事件。 preventDefault()阻止默认行为,在本例中是提交到action页面的表单。 有关preventDefault()的更多信息可以在 jQuery 文档中找到。

更改支柱标签,如下所示

<s:submit type="button" id="submitcss" />

在 Javascript 中,正如 Mathew 提到的,使用 e.preventDefault()

$("#submitcss").click(function(e){
    e.preventDefault();   
     $(this).ajax(copyEntryFormsubmit);
});

有关以下更多信息,请通过以下链接。

如何在不提交表单的情况下使用 struts2 提交标签作为按钮?

更新:

您可以像这样更改点击功能并尝试一下

$("#submitcss").click(function(e){
    e.preventDefault();    
    $.ajax({
    dataType :'json',
            success : function(json) {
                var v = json.parse(json);    
            }
   });    
});

最新更新