我正在为我的网站建立一个登录页面。现在它很简单,但它似乎只适用于Firefox,我不知道为什么。这是它似乎破裂的地方。代码将用户的登录信息发送到login.php,最终将其与数据库一起检查,然后将用户发送到欢迎页面。用户进入欢迎页面,但当用户使用Chrome或IE时,信息似乎永远不会发送到login.php。
public function log():void
{
u=user.text.toLowerCase();
p=pass.text.toLowerCase();
var urlVariables:URLVariables = new URLVariables;
urlVariables.userName = u;
urlVariables.password = p;
var urlRequest:URLRequest = new URLRequest("mysite/login.php");
urlRequest.data = urlVariables;
sendToURL(urlRequest);
navigateToURL(new URLRequest("mysite/welcome.html"), "_self");
}
有什么想法吗?
答案 0 :(得分:0)
发送登录请求后,您可能会立即离开吗? 在中止所有内容并转到“welcome.html”之前,IE可能没有“足够快”发送请求。
您可能希望将“navigateToURL”部分放在侦听器中以响应登录处理程序 - 但要注意它可能被视为安全问题。
最好是使用数据导航到登录处理程序,并将“login.php”页面重定向到“welcome.html”。这将完成工作并避免使用荒谬的Flash安全模型带来任何令人不快的意外。
答案 1 :(得分:0)
发送http请求操作将压缩as3低级代码执行。
例如:URLLoader.load()
方法。
如果同时调用此函数两次,
URLLoader.load(new URLRequest(sitea));
URLLoader.load(new URLRequest(siteb));
有些时候也会丢失!
我认为这是AS3的低级别问题,或错误或安全限制。