【问题标题】:send form to server using ajax not working properly struts2使用ajax将表单发送到服务器无法正常工作struts2
【发布时间】:2014-03-22 01:02:00
【问题描述】:

我是 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>

【问题讨论】:

    标签: jquery ajax struts2


    【解决方案1】:

    我不熟悉 Struts2,但您的 jQuery 中似乎需要一个 preventDefault()。提交的侦听器应如下所示:

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

    e 是正在传递的事件。 preventDefault() 阻止默认行为,在这种情况下是表单提交到 action 页面。有关preventDefault() 的更多信息,请访问jQuery documentation

    【讨论】:

    • 当我使用这个 e.preventDefault() 它说 $(this).ajax(copyEntryFormsubmit);不是函数
    • @MOBEENWarar 不过,这与e.preventDefault() 没有任何关系,这意味着其他事情是错误的——比如你试图在一个对象上调用ajax,当它是一个顶部时级jQuery函数。
    【解决方案2】:

    如下图改变struts标签

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

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

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

    更多信息请点击以下链接。

    How to use struts2 submit tag as button without submitting the form?

    更新:

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

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

    【讨论】:

    • 当我使用这个 e.preventDefault() 它说 $(this).ajax(copyEntryFormsubmit);不是函数
    猜你喜欢
    • 1970-01-01
    • 2017-05-09
    • 2015-01-08
    • 2016-03-11
    • 2013-05-05
    • 1970-01-01
    • 2015-10-27
    • 2015-10-27
    • 2012-01-20
    相关资源
    最近更新 更多