Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在$.ajax submit上找不到Post[object%20HTMLInputElement]404_Javascript_Jquery_Ajax_Forms_Smoothstate.js - Fatal编程技术网

Javascript 在$.ajax submit上找不到Post[object%20HTMLInputElement]404

Javascript 在$.ajax submit上找不到Post[object%20HTMLInputElement]404,javascript,jquery,ajax,forms,smoothstate.js,Javascript,Jquery,Ajax,Forms,Smoothstate.js,我在用JSP后端实现smoothState.js时遇到了一个小问题。 我第一次尝试提交表单时出现此错误。第二次按submit时,我不知道是什么原因,但找到了可能的线索 POST http://localhost:8080/internal/inquiry/[object%20HTMLInputElement] 404 (Not Found) 它只发生在具有name=action的隐藏输入的表单上。例如,如果我的表格中有: <input type="hidden" name="acti

我在用JSP后端实现smoothState.js时遇到了一个小问题。 我第一次尝试提交表单时出现此错误。第二次按submit时,我不知道是什么原因,但找到了可能的线索

 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();
    });
});

});
任何帮助都将不胜感激

编辑:其他照片

首次提交时的答复

第二次提交的答复


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

如果不使用,为什么需要name=action输入元素?@Mikey我想他会在后端使用它请在访问页面时在这里发布生成的html元素,一些内容应该出现在create_description_data@lemmy4555的位置好吧,我开始想,在某些情况下,您的jsp表达式可能会在表单上附加两个onSubmit事件,您是否可以检查第一次单击submit按钮时是否传递了代码片段?在此行中添加一个断点:$form.submitfunction ev{并将formUrl变量的内容放在此处……我建议您在绑定提交事件之前尝试使用$form.off解除绑定