2011-09-11 85 views
0

我想發送一個服務器「schooltraq.com/api/」變量的請求。 我的代碼:Actionscript 3,URLRequest/URLLoader問題。服務器沒有收到數據

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。 任何幫助將不勝感激。

+2

如果上面的代碼是你的整個代碼,你永遠不會發送任何請求,是嗎?我沒有看到任何loader.load(請求)調用。 –

+0

同意拉爾斯 – Joseph

回答

1

這是Brandon Wang(Schooltraq的創始人+首席開發人員),感謝您使用我們的API。

要解決的問題,而我真的不能提供任何細節,因爲我不知道的ActionScript是如何工作的,這裏有一些東西,可以幫助你:

  1. 嘗試將請求發送到http://beta.schooltraq.com/api然後查看請求是否完成。我們使用永久重定向將schooltraq.com/api中的人員指向beta.schooltraq人。我們建議重定向的原因很簡單,因爲API端點可能會移動。我們如果此深表歉意導致的問題:(

  2. 你確定你正在運行一個POST要求嗎?有時候,人們跑GET請求和API真的沒有設置爲。它看起來像你」重新運行您的代碼POST要求,雖然如此,我不能完全肯定。

  3. 在上面的代碼,你也不會沿着任何API密鑰,這是需要GET ASSIGNMENTLIST發送。

我希望這會有所幫助。