2012-03-08 59 views
0

我想知道Flash應用程序是否可以創建一個POST請求,其中一些已發佈項目的名稱包含「。」。字符?我可以使用「。」在POST參數名稱中,由Flash生成?

背景:

我與人是誰寫有POST數據到服務器的Flash應用程序的工作。我正在開發接收和保存數據的Web應用程序。因此,我對Flash本身的內部工作知之甚少。

爲了允許服務器(在Microsoft MVC中)自動進行數據綁定,我希望POST項目的名稱使用特定的命名約定。所以,如果我想收到兩個測試的結果,我想POST項目使用的名稱:

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

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

如果這個數據正在從一個普通的老HTML表單提交,這將是這樣的:

<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" /> 

然而,開發商說,建設中的Flash POST請求,與任何項目時「」的名義被忽略,並且不包含在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會,到Flash,意味着如:variables對象有一個名爲Test[0]的屬性,它具有一個名爲Score的屬性 - 這沒有任何意義/是錯誤的動作腳本。當Flash將帶有屬性的URLVariables對象轉換爲實際的HTTP帖子時,當屬性具有屬性時,它失敗。

+0

非常感謝Kontur的明確答案。只是要確定 - 是否無法指定POST項目的名稱,而與包含要發佈的值的變量無關?我正在考慮某種字典{「Any.name.with.dots」= VariableContainingValue},其中POST項目的名稱獨立於將提供其值的變量的名稱? – Appetere 2012-03-08 14:03:03

+0

Flash開發人員找到了一種方法來做到這一點。對不起,但他沒有傳達他對我做了什麼,所以我不能將它發佈在這裏供將來參考。 – Appetere 2012-03-08 16:04:11

+0

好的,儘管他是如何做到的,但我的興趣確實讓人感興趣。我給出的答案是基於我認爲是不可能的原因。也許在不使用URLVariables時,只是將變量編碼爲像'Test [0] .Score = value&Test [0] .Foobar = value'這樣的字符串可能是可以嘗試的東西:)也許這就是他如何得到它的工作。 – kontur 2012-03-08 20:00:23

相關問題