2012-02-15 8 views
0

免責事項:私はこのことを念頭に裸してくださいこのようなものに非常に新しいです。リロードjavascriptの

こんにちは、イムがページを離れることなくページコンテンツをロードするためにAJAXを使用してサイトを設定

。私はリスト情報を読み込むためにJavaScriptを使用するいくつかのページを持っています。

#home 
#list.php?list=$list_id 

私は$のLIST_IDという変数を持っており、リストをロードするために、いくつかのJavaScriptを使用していることを使用します。ここでは

は、リンクセットアップが見えています。私が直面している問題は、1つのリストをロードして(ID 1のリストを言う)、別のリストをロードして(ID 2のリストを言う)、新しいリストIDを考慮してjavascriptを再ロードしなかったということです。

は、とにかく、私はページを更新することなく、新たな変数を考慮するために、JavaScriptコードをリロードすることができますありますか?

ありがとうございます!

+0

私たちが手助けできるように完全なコードを表示してください。 「戻る」(ブラウザでは?)とはどういう意味ですか? – JMax

答えて

0

あなたは非表示の入力フィールド内の$ LIST_IDを格納し、AJAX呼び出し後にそれを更新できませんでしたか?

<input type="hidden" id="list-id" value="<?php echo $list_id; ?>" /> 

    <script> 
    //ajax request 
    var $list_id = $('#list-id'); 
    $.ajax({ 
    url:'http://www.example.com/page.php', 
    data:'list_id=' + $list_id.val(), 
    success:function(data){ 
    //do something 

    $list_id.val() = $list_id.val() + 1; 
} 
}); 

は、ちょうどあなたのアイデアを与えるために迅速に一緒にこれを石畳ので、私はあなたが正確に直面しているどのような問題を理解していけない

4

いくつかのJSエラーがあるかもしれません。 いますが、ページを更新せずにスクリプトをリロードしたい場合、あなたはこのような方法で行うことができます。

var script = document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "somefile.js"; 
document.getElementsByTagName("head")[0].appendChild(script); 

またはjQuery.loadScript機能

+0

ページ内のスクリプトの場合はどうすればいいですか?たとえば、です。私はJSでphp変数を使うので、私はページでJSを使用しています。 – user1210772

0

を使用あなたが取得(および実行)のためのjQueryのgetScript()機能を使用することができますスクリプト動的にたとえば、次のように

$.getScript("/js/myscript.js"); 
+0

スクリプトはエクステンションファイルにありません。私は

1

DOMスクリプトにHTMLを挿入すると、スクリプトが実行されます。したがって、AJAX経由でHTMLを読み込むと、含まれているスクリプトを実行できます。

0

通常、ここでプロトコルを設計するのが最適です。ロードされているリストを解析する関数、URLハッシュを解析する関数、新しいリストをロードする関数を用意する必要があります。 URLハッシュはlocation.hashで取得できます。ここで

リストは、特定のフォーマットであることを期待している、簡単な例を示します。したがって、あなたのJavascriptは一度読み込む必要があるだけで、追加された依存関係がなくても解析できる特定のフォーマットを期待する必要があるため、プロトコルベースになります。依存関係を実際に要求するのは大丈夫ですが、how/when/whereはすべてプロトコルに取り組まなければなりません。

<a class="listLoader" href="#list.php?list=1">List 1</a> 
<a class="listLoader" href="#list.php?list=2">List 2</a> 
<a class="listLoader" href="#list.php?list=3">List 3</a> 

$('.listLoader').onclick(function() { 
    $.ajax({ 
     'success': function() { 
      //Do what you gotta do with your lists 
     }, 
     'url': location.hash.substring(1) 
    }); 
}); 
関連する問題