我正在编写一个非常简单的 Flash 应用程序 (AS 2) 来让用户注册电子邮件通讯;它的工作方式是使用 LoadVars 通过 POST 使用用户的电子邮件地址来命中(同一域)PHP 脚本。然后,PHP 脚本通过curl 将信息传递到另一个域(时事通讯邮件程序 URL)以注册用户。
到目前为止,效果很好,它可以在大约 70% 的经过测试的计算机上运行(它是在网站上进行实时测试,而不是本地测试)。但是,在某些计算机上,似乎并未进行 LoadVars.sendAndLoad 调用,因为从这些计算机发送的电子邮件地址未显示在订阅者列表中。我知道 PHP 脚本仍然可以在这些计算机上运行,因为我已经制作了一个准系统 HTML 表单,其行为方式与 Flash 应用程序完全相同(使用相同的变量发布到相同的 PHP 脚本等),并且它可以在所有计算机上运行。
这是相关的 AS:
submit_btn.onRelease = function(){
submitOutAnimation();
this.enabled = false;
var sendvar_lv:LoadVars = new LoadVars();
var loadvar_lv:LoadVars = new LoadVars();
loadvar_lv.onLoad = function(success:Boolean){
gotoAndStop("successful");
}
sendvar_lv.email = entryField_mc.myAdd.text;
sendvar_lv.sendAndLoad("http://notmyrealdomainname.com/passthrough.php?ck="+new Date().getTime(),loadvar_lv,"POST");
}
这可能是 Flash 客户端设置的安全问题吗?你还有其他建议吗?我的印象是,假设不同的计算机具有相同的 Flash 播放器版本,Flash 播放效果不会有太大差异(性能除外),而这种体验打破了这种幻想...
最佳答案
这可能取决于用户是否输入“www”前缀,因为它会被视为单独的子域。如果 Flash 驻留在同一服务器上,为什么不删除“http://notmyrealdomainname.com ”并使用 passthrough.php 的相对路径?
关于php - Actionscript 2 中跨不同计算机的 LoadVars.sendAndLoad 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/446986/