我有2个jsp页面。主页面和表单页面。主页面有一个网格(extjs框架),当我点击一行时,它会打开我的表格jsp页面。我想要实现的是,一旦提交表单,我希望我的主页刷新其网格,以显示从表单提交的新数据。请注意,表单页面是一个新窗口。 它们在不同的浏览器窗口中共存(用户同时看到两者)。
我想到的一种方法是通过服务器发送事件。在表单提交之后,我从form.jsp向servlet发送一个ajax请求,它应该响应我的main.jsp监听的事件流,但它似乎不起作用。当我尝试创建EventSource对象时,它给出了错误:
EventSource's response has a MIME type ("text/javascript") that is not "text/event-stream". Aborting the connection.
错误似乎出现在我的doctype声明中:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
我不确定为什么会这样。任何有关这方面的帮助将不胜感激。
无论我尝试实施哪种方法,还有更好的方法吗?或修复服务器发送事件的方法?
答案 0 :(得分:1)
您可以在表单提交时执行此操作window.opener.location.reload(true)
。如果你想从服务器上完全重新加载这个页面,那就是'true'。
如果您不想刷新整个页面,则可以按照以下步骤操作。
function refreshGrid()
。window.opener.refreshGrid()
。希望得到这个帮助。