什么会导致Flash(AS3)替代& for&在GET查询参数?

时间:2009-10-09 00:09:10

标签: actionscript-3

到目前为止,我已经花了一天的时间来解决这个问题。问题是Flash显然用&代替&在我的GET查询参数中。

例如,我正在向URLLoader发送一个URLRequest,其URL类似于:

http://foo.blah.com/app/index.php?abc=def&ghi=jkl&mno=pqr

我通过查看调试器中的var来验证这一点。但它在我们的服务器上失败了。 Ethereal报告实际通过网络传输的是:

GET /app/index.php?abc=def&ghi=jkl&mno=pqr

不是第一个,而是第二个&正在被&替换。

我无法弄清楚如何让它停止这样做。什么可能导致这个?或者,是否有人对我可以调查的事情有任何想法?

2 个答案:

答案 0 :(得分:1)

使用data属性构造传递的GET变量(您还必须将请求方法设置为GET,请查看AS3文档以获取更详细的信息。)

示例:

var getVars:URLVariables = new URLVariables();
getVars.abc = "def";
getVars.ghi = "jkl";

var request:URLRequest = new URLRequest();
request.data = getVars;

urlLoader.load(request);

答案 1 :(得分:0)

唉。好的,感谢Theo(我会因为我不知道URLVariables而得到答复)我去检查了可能出错的每一件事。

真正的问题是我确实在原始网址请求中有&。我正在做一个string.replace(),当然只会遇到第一个实例。

问题就是在调试器中,Flash显然有助于将&转换回&!所以我没有看到这个错误。谢谢Flash!

如果我在输出上做了一个跟踪()以确定(我以为我有,但我显然没有),那么我会注意到这一点。