我在尝试使用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();
});
});
});
任何帮助都将不胜感激。
编辑:附加照片
首次提交时的回复
第二次提交时的回复
答案 0 :(得分:-1)
看到一些jsp代码会很棒,但现在我的猜测是,如果#descriptionData是实际的,那么你最好只使用$ form.serialize()来发送数据