尝试通过URLRequestMethod.POST;
错误:错误#2101:传递给URLVariables.decode()的String必须是包含名称/值对的URL编码查询字符串。
是否有字符串URL编码的方法?
答案 0 :(得分:21)
有escape()和unescape()作为ActionScript 3的顶级函数,用于URL编码/解码。
答案 1 :(得分:7)
此问题的解决方案是:
您必须将URLLoaderDataFormat设置为URLLoaderDataFormat.TEXT而不是URLLoaderDataFormat.VARIABLES.
因为VARIABLES
表示不同类型的数据,而不是URLVariables
中的多个项目。
答案 2 :(得分:6)
该错误消息通常是由将无效的查询字符串传递给URLVariables对象引起的。但是在大多数情况下你不需要传递查询字符串。您可以将对象作为常规属性添加到对象中,并让它执行编码和转义(这是此类的目的)。
var vars:URLVariables = new URLVariables();
vars.param1 = "Text to be escaped. Works for non ascii: ñ";
vars.param2 = "http://www.google.com/?q=something&test=1234";
trace(vars.toString());
当然,跟踪不是必需的,只是让您可以看到编码有效。
答案 3 :(得分:0)
我多次遇到这个问题,通常是我错过的myLoader.dataFormat = URLLoaderDataFormat.VARIABLES
行。如果你拥有它,请尝试删除此行:
request.method = URLRequestMethod.POST
最后确保通过变量theStatus=okay
收到响应,然后应该这样做。