使用 AS3 将数据发送到 JSON
Sending data to a JSON with AS3
我已经要求我的客户分享他的数据库登录名和密码,但他不能给我完全访问他的数据库的权限(我想是安全原因)。
他告诉我使用 REST/JSON 服务,该服务允许通过此 url post 数据,并使用特定密钥让他识别来自我的应用程序的所有数据。
这是我所做的:
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);
它正在发送数据,但数据格式似乎不正确..
urlreturns这个错误:"Observer name is Missing"
而“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/en_US/FlashPlatform/reference/actionscript/3/JSON.html
请记住,我不知道您的 REST 服务器的具体情况,上面的代码 可能 无法正常工作。我只解释如何将 JSON 字符串作为 POST 请求发送。
我已经要求我的客户分享他的数据库登录名和密码,但他不能给我完全访问他的数据库的权限(我想是安全原因)。 他告诉我使用 REST/JSON 服务,该服务允许通过此 url post 数据,并使用特定密钥让他识别来自我的应用程序的所有数据。
这是我所做的:
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);
它正在发送数据,但数据格式似乎不正确..
urlreturns这个错误:"Observer name is Missing"
而“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/en_US/FlashPlatform/reference/actionscript/3/JSON.html
请记住,我不知道您的 REST 服务器的具体情况,上面的代码 可能 无法正常工作。我只解释如何将 JSON 字符串作为 POST 请求发送。