我是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>
答案 0 :(得分:0)
我不熟悉Struts2,但看起来你需要在jQuery中使用preventDefault()
。提交时的监听器应如下所示:
$("#copyEntryForm").submit( function(e) {
e.preventDefault();
//code here
});
e
是传递的事件。 preventDefault()
会阻止默认行为,在这种情况下是提交到action
页面的表单。有关preventDefault()
的更多信息,请参阅jQuery documentation。
答案 1 :(得分:0)
更改struts标签,如下所示
<s:submit type="button" id="submitcss" />
在Mathew提到的Javascript中使用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);
}
});
});