我正在编写一个非常简单的 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 播放(除了性能)没有太大差异,而这种体验正在打破这种幻想......