2016-08-02 5 views
1

せずにHTMLページへJSページからデータの送信が、最初のページは純粋にあるので、私はformsを使用することはできませんJavaScriptと.jsファイルを使用してフォームを宣言することはできません。データが大きすぎるため、URLを使用できません。他の選択肢は何ですか?私が見つけたすべてのチュートリアルでは、フォームまたはURLを使用しています。代わりがありますか? this answerに基づいは、私は別のHTMLページに、JavaScriptから変数を送信すると、そのページにリダイレクトされるフォームまたはURL

は、私は、次のコードを使用する:

function post(array) { 
    var method = "post"; 
    var form = document.createElement("form"); 
    form.setAttribute("method", method); 
    form.setAttribute("action", "helloworld.html"); 

    var hiddenField = document.createElement("input"); 
    hiddenField.setAttribute("type", "hidden"); 
    hiddenField.setAttribute("name", "array"); 
    hiddenField.setAttribute("value", array); 

    form.appendChild(hiddenField); 

    document.body.appendChild(form); 
    form.submit(); 
} 

を、私は別の方法で(パラメータ)ポストを呼び出します。

正常にhelloworld.htmlにリダイレクトされますが、渡された変数はどのように取得できますか?

+0

でそれを救うことができるあなたはすでに私の例を試してみました、またはあなたはすでに、より良い解決策がありますか? –

答えて

0

localStorageにデータを保存し、2番目のページが同じドメインにある場合は保存することができます。データは文字列でなければなりません。

ページワン:データ保存

function sendData(){ 
    localStorage.setItem("data", data); 
    location.href = "helloworld.html"; 
} 

ページ2:

function onLoad(){ 
    var data = storage.getItem("data"); 
} 

データを読みます。

オプション: あなたはまた、JSONオブジェクトを作成し、機能JSON.stringify

0

は、JavaScriptからのHTTPリクエストを行うことができます。

// jQuery 
$.get("demo_test.asp", function(data, status){ 
     // do something 
}); 

jQueryのドキュメントは、あなたはjQueryのAJAX APIを使用してPOSTリクエストを介してデータを送信することができますhere

0

に位置しています。詳細を参照してください。 here またはhere

編集:おっと、私はあなたが任意のサーバー側のハンドラが有効になっていないことに気付きませんでした。その場合、フォームを使用したくない場合は、jQuery.param()でget/urlパラメータを処理したり、いくつかのルーティングイネーブルライブラリを使用したりできます。