Actionscript 3,URLRequest / URLLoader问题。服务器无法接收数据

时间:2011-09-11 16:23:17

标签: flash actionscript urlloader urlrequest

我正在尝试为请求发送服务器“schooltraq.com/api/”变量。  我的代码:

package
{
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.*;

    public class tester extends MovieClip
    {
        private var url:String = "http://schooltraq.com/api/";
        var loader:URLLoader = new URLLoader();
        public function tester()
        {
            getAssignments();
        }
        private function getAssignments()
        {
            var request:URLRequest = new URLRequest(url);
            request.method = URLRequestMethod.POST;
            var vars:URLVariables = new URLVariables();

            vars.type = "get";
            vars.request = "assignmentlist";

            request.data = vars;
            trace(request.data);        

            loader.addEventListener(Event.COMPLETE, on_complete);
        }
        private function on_complete(e:Event):void
        {
            trace(loader.data);
        }
    }
}

当我不断回来时“错误:空的请求”。我通过电子邮件发送了网站所有者,他说我的程序可能会在重定向期间丢弃数据。知道怎么解决这个问题吗? 他们的api是http://help.schooltraq.com/kb/schooltraq-api/an-overview-of-the-schooltraq-api。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这是Brandon Wang(Schooltraq的创始人+首席开发人员),感谢您使用我们的API。

要解决此问题,虽然我无法提供任何具体信息,因为我不知道ActionScript的工作原理,但以下是一些可能对您有所帮助的事项:

  1. 尝试将请求发送到http://beta.schooltraq.com/api,然后查看请求是否完成。我们正在使用永久重定向将人员从schooltraq.com/api指向beta.schooltraq。我们建议进行此重定向的原因仅仅是因为可以移动API端点。如果这导致问题,我们很抱歉:(

  2. 您确定要运行POST请求吗?有时人们会运行GET个请求,而API实际上并没有为此设置。看起来你的代码似乎正在运行POST请求,所以我不完全确定。

  3. 在上面的代码中,您还没有发送GET ASSIGNMENTLIST所需的任何API密钥。

  4. 我希望这会有所帮助。