我有以下代码的js。点击网页上的“ Crate Note ”按钮时会调用createNote()
功能
function createNote() {
alert( 'page created' ); // for example note is created here
window.location = document.URL; // refresh page to show new added note
showEditNotePopup();
}
function showEditNotePopup() {
alert( 'show note edit page' ); // for example edit note popup shown here
}
以上代码正在使用window.location = document.URL;
创建注释和刷新页面。但是在重新加载页面之后它没有调用showEditNotePopup(
)函数。有没有办法在不使用AJAX的情况下实现这一目标。
答案 0 :(得分:5)
这里发生的是,您使用window.location
向服务器发送全新的 HTTP请求。因此,不可能这样做。但是,有一些解决方法。我会在这里写下来的:
一种方法是在window.location
上向服务器发送另一个参数。例如:
window.location = document.URL + "?popup=true";
现在,在服务器上,检查此参数。如果存在,则创建自我调用功能以显示新创建的注释信息。
另一种方法是使用ajax而不是完整请求。这样,你的功能就是:
function createNote() {
alert( 'page created' );
// use ajax to store new page, and update the UI accordingly
showEditNotePopup();
}
现在,showEditNotePopup();
就像魅力一样。