2012-03-08 4 views
0

私は、FlashアプリケーションがPOST要求を作成できるかどうかを調べようとしています。投稿された項目の名前の一部に「。キャラクター?"。"を使用できますか? Flashによって生成されたPOSTパラメータ名で?

背景:私は、サーバーにデータをPOSTしているFlashアプリケーションを書いている人と一緒に働いている

。私はデータを受け取り、保存するWebアプリケーションに取り組んでいます。このように、私は自分自身でFlashの内部動作についてほとんど知りません。

サーバ(Microsoft MVC内)で自動データバインディングを可能にするために、POSTアイテムの名前に特定の命名規則を使用する必要があります。私は2つのテストの結果を受けたいのであれば、私は名前を使用してPOST項目を希望:

Tests[0].Score 
Tests[0].Passed 

Tests[1].Score 
Tests[1].Passed 

このデータは、プレーン、古いHTMLのフォームから送信された場合は、これはのようになります。開発者は、フラッシュ内のPOSTリクエストを構築するときと言う

<input id="Areas_0__Score" name="Tests[0].Score" type="text" value="70" /> 
<input id="Areas_0__Passed" name="Tests[0].Passed" type="text" value="true" /> 

はしかし、名前に持つ「」いずれかの項目は無視され、POST要求に含まれていません。

これはFlashの既知の制限ですか、またはPOST項目名に「。」を含めることができるかどうかは、私が望むようにしてください。

ありがとうございました。

答えて

1

投稿変数の作成に使用されるAS3 URLVariablesオブジェクトはオブジェクトです。 falshの構文では、foo.barのようなものはbarがfooオブジェクトの子孫/子/プロパティであることを意味します。 URLVariablesは最終的にはオブジェクトなので、Tests [0] .Scoreのようなものはオブジェクトの有効な名前ではありません。この例を参照してください:特にURLVariables examples

var variables:URLVariables = new URLVariables(); 
variables.exampleSessionId = new Date().getTime(); 

あなたがあるため、オブジェクトのプロパティ/子孫のために使用され、このドット構文で動作しないことをお勧めのような変数をMakeing:

variables.Tests[0].Scoreなり、平均フラッシュに次のようなものがあります。variablesオブジェクトにTest[0]というプロパティがあります。これは意味がない/不完全なactionscriptであるScoreというプロパティがあります。 FlashはURLVariablesオブジェクトをその属性と共に実際のHTTPポストに変換するので、属性に属性がある場合は失敗します。

+0

明確な答えKonturに感謝します。ポストされる値を含む変数とは無関係に、POST項目の名前を指定する方法はないのでしょうか?私はいくつかの辞書( "Any.name.with.dots" = VariableContainingValue)を考えていますが、POST項目の名前はその値を提供する変数の名前とは関係ありません。 – Appetere

+0

Flashデベロッパーは結局これを行う方法を見つけました。申し訳ありませんが、彼は私にしたことを伝えていないので、将来の参照のためにここに投稿することはできません。 – Appetere

+0

さて、彼のやり方は確かに私の関心を引いた。私が与えた答えは、それが不可能であると仮定したものに基づいていました。おそらく、URLVariablesを使用していないときに 'Test [0] .Score = value&Test [0] .Foobar = value'のような文字列として変数をエンコードすると、試してみるかもしれません:)おそらく、 – kontur

関連する問題