2011-10-25 43 views
1

私はコール(または挿入)ファイル「テストので、コードは正常に動作別のJSファイルから要素スクリプトを使用してjsファイルで変数を受け取る方法

var property = 'email'; 

var NewScript=document.createElement('script'); 
NewScript.src="/js/test.js?property="+property; 
document.body.appendChild(NewScript); 

test.jsという名前の別のjsファイルを呼び出すための要素のスクリプトを作成するには、次のコードで「file1.js」を持っています。 js "私の問題は、変数を" test.js "に送信してそこで使用したいということです。この変数を送信/受信する方法はわかりません。

これは、私が「test.js」

alert(property); 

を持っている必要がありますが、どのように私は、この変数を受け取るか何ですか?

答えて

2

いいえあなたはそのようなjavascriptファイルにquerystringパラメータを渡すことはできません。私がやったことは、新しいjavascriptファイル参照を作成する前に、変数をスクリプトに設定することです。これはあなたが上でやっていることのようなものですが、このコードを持つ関数の外にプロパティ変数を宣言する必要があります。たとえば、このコードをjQueryドキュメントの準備関数に入れた場合、次のようになります:

var property = 'email'; 

$(document).ready(function() { 
    var NewScript = document.createElement('script'); 
    NewScript.src = "/js/test.js"; 
    document.body.appendChild(NewScript); 
}); 

これにより、プロパティ変数が外部ファイルのスコープ内にとどまることができます。 HTML JavaScript Include File Variable Scope

+0

これはまさに行く方法です。また@Saymonは、リクエスト内で '?property = whatever'に何が起こるかを考えます。ブラウザの観点から見ると、それは単なるURLです。それが指示されているサーバとそのタイプのリクエスト(この場合は_GET_)を特定することができない場合、クエリ文字列パラメータは何もしません。必要なリクエストを作成してサーバーに送信するだけです。サーバーはこの場合クエリ文字列を無視し、コードの挿入や値URLに基​​づく特別な処理を行わずに、ブラウザの読み込んだファイルの内容で応答します。 –

+0

あなたの答えはptfaulknerにありがとう、それは私の問題を修正していませんでしたが、それは正しい道に私を置きました。 – Saymon

関連する問題