2010-12-13 14 views
4

JavaScriptを使用してビルドしている文字列があります。この例の目的のために:サーバーへのラウンドトリップを使用してjavascript変数を送信するには

var cereal = 'my super cereal string'; 

私は、ページ上のボタンを持っている:

<button id="save" type="submit" name="submit">Save</button> 

は、どのように私は(私はAJAXを使用したくない)、ラウンドトリップを使用して、この文字列を提出します。私はこのアプリケーションでjqueryを使用しています。

これを達成する最も良い方法は何ですか?

+0

を、なぜあなたはAJAXを使用したくありませんか? – micmcg

+1

+1は簡潔な例です。だから、多くの人が3ページのコードを貼り付けて「これに何が問題なの?」と尋ねる。 – jpsimons

+0

micmcg、私は次のページに進みます。 (これで成功すればいいと思うが、それは適切ではないと思う) –

答えて

1

はあなたの文字列を含む入力して使い捨てformを構築buttonにクリックリスナを割り当てることができます:formactionあなたがに投稿したいものは何でもとの交換

var cereal = 'my super cereal string'; 
$("button#save").click(function() { 
    var form = "<form id='hidden-form' style='display:none' method='POST' action='/echo/json'><input name='cereal' value='" + cereal + "' /></form>"; 

    $("body").append(form); 
    $("form#hidden-form").submit(); 
}); 

それをチェックアウト:http://jsfiddle.net/andrewwhitaker/MNtwY/ここ

+0

これはうまくいったが、入力タイプを省略した –

+0

@Aaron:入力タイプはデフォルトで 'text' /www.w3.org/TR/html401/interact/forms.html#adef-type-INPUT –

+0

偶発教育のための歓声、ありがとう –

4

これが最善の方法であるか最も優雅な方法であるかはわかりませんが、非表示のフィールドがあるフォームを使用することもできます。文字列を非表示のフィールドに設定し、フォームを送信します。

1

オプションがGET要求を使用しています:好奇心のうち

var cereal = 'captain crunch'; 
$('#save').click(function() { 
    window.location.href = "http://www.google.com/search?q=" + cereal; 
}); 
関連する問題