在$ .ajax提交中找不到帖子[object%20HTMLInputElement] 404

时间:2017-02-14 17:03:58

标签: javascript jquery ajax forms smoothstate.js

我在尝试使用JSP后端实现smoothState.js(https://github.com/miguel-perez/smoothState.js)时遇到了一些问题。 我第一次尝试提交表单时收到此错误。我第二次按提交通过,我不知道是什么原因,但发现了一个可能的线索。

 POST http://localhost:8080/internal/inquiry/[object%20HTMLInputElement] 404 (Not Found)

它只发生在具有name="action"隐藏输入的表单上。例如,如果我的形式是这样:

 <input type="hidden" name="action" value="<%=Inquiry.CREATE_ACTION_DESCRIPTION_DATA%>" />

这是我提交的代码。

$(document).ready(function(){


 $('#descriptionData').parsley().on('form:success', function() {
    var $form = $("#descriptionData");
    var action = "<%=Inquiry.CREATE_ACTION_DESCRIPTION_DATA%>"; 
    var formUrl = '/inquiry.do?action=' + action + '&ajax=1';

    $form.submit(function (ev) {
        $.ajax({
         type     : "POST",
         url      : formUrl,
         data     : $form.serializeArray(),
         async    : true,
         success  : function(data) {
                var smoothState = $('#main-cont').smoothState().data('smoothState');
                smoothState.load(data.redirectPage);
            }
        });

        ev.preventDefault();
    });
});

});

任何帮助都将不胜感激。

编辑:附加照片

首次提交时的回复

enter image description here

第二次提交时的回复

enter image description here

1 个答案:

答案 0 :(得分:-1)

看到一些jsp代码会很棒,但现在我的猜测是,如果#descriptionData是实际的,那么你最好只使用$ form.serialize()来发送数据