我正在为我的网站建立一个登录页面。现在它很简单,但它似乎只在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");
}有什么想法吗?
发布于 2011-12-29 01:16:14
可能是您在发送登录请求后立即导航离开的事实?IE可能“不够快”,无法在中止所有操作并转到"welcome.html“之前发送请求。
您可能希望将"navigateToURL“部分放在侦听器中,以响应登录处理程序-但要注意,这可能会被认为是一个安全问题。
最好是使用数据导航到登录处理程序,并将"login.php“页面重定向到"welcome.html”。这将完成已完成的工作,并避免任何令人不快的意外与荒谬的Flash安全模型。
发布于 2014-02-25 20:56:17
发送http请求操作将在as3底层代码中执行。例如:URLLoader.load()方法。
如果您同时调用此函数两次,
URLLoader.load(new URLRequest(sitea));
URLLoader.load(new URLRequest(siteb));也会损失一些时间!
我认为这是一个AS3的低级问题,或者bug,或者来自安全性的限制。
https://stackoverflow.com/questions/8658798
复制相似问题