Javascript 在$.ajax submit上找不到Post[object%20HTMLInputElement]404
我在用JSP后端实现smoothState.js时遇到了一个小问题。 我第一次尝试提交表单时出现此错误。第二次按submit时,我不知道是什么原因,但找到了可能的线索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
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解除绑定