我的index.jsp页面,用这行代码加载我的表单:
$('#box').load('/Edit_Data.jsp?id=' + myID);
然后,我可以正确编辑表单中的数据。完成后,我点击一个触发此功能的按钮:
function save() {
$.ajax({
type: 'POST',
cache: false,
url: '/Edit_data',
data: $('form[name="formData"]').serialize(),
complete : function(jqXHR,textStatus) {
alert("complete " + jqXHR.responseText );
},
error: function(jqXHR,textStatus){
alert("status " + textStatus + ", response :" + jqXHR.responseText);
}
});
}
和路径“/ Edit_data”的java servlet,返回:
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/xml");
String xml = "";
resp.getWriter().println(xml);
点击按钮后的行为是:
请求已正确发送
我收到错误提示消息:状态错误,响应:
然后,我收到完整的消息:complete(responseText为null)
我的问题是:为什么在完成ajax请求后,会重新加载index.jsp页面。正确的行为应该是:在请求之后,因为我处理完整的函数,所以不可能做任何事情
一条线索应该是servlet返回的错误消息,但我看不到错误的全部内容,所以我不明白触发错误的原因...
另一个重要的线索,我只有firefox和chrome的这个问题。它适用于IE。
你能帮我解决一下吗?
非常感谢,
蝙蝠