[英]Sending data to a JSON with AS3
我已經要求客戶共享他的數據庫登錄名和密碼,但是他不能給我完全訪問他的數據庫的權限(我想是出於安全原因)。 他告訴我使用REST / JSON服務,該服務允許使用具有特定密鑰的此URL通過該URL發布數據,從而使他可以識別來自我的應用程序的所有數據。
這是我所做的:
var urlRequest:URLRequest = new URLRequest("the_url_using JSON service");
urlRequest.method = URLRequestMethod.POST;
var urlvars: URLVariables = new URLVariables;
urlvars.observer_name = "Test Coco";
urlvars.observation_number = "5433";
trace("urlvars = "+urlvars);
urlRequest.data = urlvars;
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.load(urlRequest);
它正在發送數據,因此正在運行,但是數據格式似乎不正確。
url返回此錯誤:“觀察者名稱丟失”
和“ trace (urlvars)
”輸出:
urlvars = observer%5Fname=Test%20Coco&observation%5Fnumber=5433
因此,我認為問題來自特殊字符或類似的字符(因為您可以通過“ observer%5Fname
”獲得“ observer_name
”結果,並且可以看到很多“%5”)
知道我該如何解決嗎?
JSON字符串是通用對象的字符串表示形式。 基本上你去:
var anObject:Object =
{
"observer_name": "Test Coco",
"observation_number": 5433
};
或者你可以構造它
var anObject:Object = new Object;
anObject['observer_name'] = "Test Coco";
anObject['observation_number'] = 5433;
然后將其轉換為String並附加到請求
var jsonString:String = JSON.stringify(anObject);
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = jsonString;
進一步了解它: https : //help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/JSON.html
請記住,我不知道您所用的REST服務器的細節,上面的代碼可能無法按原樣工作。 我僅說明如何將JSON字符串作為POST請求發送。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.