2011-12-03 18 views
2

私は次のコードを持っています。私は上記のコード ページをリロードした後にjs関数を呼び出す

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 
} 

Webページ

の「 クレート注」ボタンをクリックすると、 createNote()機能が働くと、ノートを作成しても爽やかなページが window.location = document.URL;を使用していると呼ばれています。しかし、ページをリロードした後は、 showEditNotePopup(という関数を呼び出していません)。 AJAXを使用せずにこれを達成する方法はありますか?

+0

爽快な使用のために:location.reload() – mgraph

答えて

5

ここでは、window.locationを使用して完全に新しいHTTPリクエストをサーバーに送信しています。したがって、それを行うことはできません。ただし、いくつかの回避策があります。私はここに書いてみましょう:

もう1つの方法は、サーバに別のパラメータをwindow.locationに送ることです。例:

window.location = document.URL + "?popup=true"; 

ここで、サーバーでこのパラメータをチェックします。それが存在する場合は、を作成して、新しく作成したノートの情報を表示する関数を自己起動します。

もう1つの方法は、完全なリクエストではなく、ajaxを使用することです。この方法では、あなたの関数は次のようになります。

function createNote() { 
    alert('page created');   
    // use ajax to store new page, and update the UI accordingly 
    showEditNotePopup(); 
} 

、魔法のように動作しshowEditNotePopup();

関連する問題