2010-05-24 83 views
2

我試圖將數據發佈到爲我處理它的頁面。我總是得到下面的錯誤,但是:在AIR應用程序中執行POST

事件。ioErrorHandler:IOErrorEvent類型= 「ioError在」 氣泡=假可取消=虛假的EventPhase = 2文本= 「錯誤#2032:流式傳輸錯誤網址:http://localhost:8080/_user/a/ad/admin/message.create.html」 ErrorID中= 2032] Blockquote

這是我到目前爲止的代碼。這適用於GET請求。

 // Object that contains data of the message to be sent 
     var toSend:Object = { 
      "sakai:type": "internal", 
      "sakai:sendstate": "pending", 
      "sakai:messagebox": "outbox", 
      "sakai:to": "internal:"+sakaimain.gui.dgMessages.selectedItem["to"], 
      "sakai:subject": sakaimain.gui.dgMessages.selectedItem["subject"], 
      "sakai:body":"testreply with AIR GUI", 
      "sakai:previousmessage" : sakaimain.gui.dgMessages.selectedItem["id"] 
     }; 
     // Send message 
     // Create loader to load objects 
     var loader:URLLoader = new URLLoader(); 
     // Add event listeners for error and complete events 
     loader.addEventListener(Event.COMPLETE, replyMessageCompleteHandler); 
     loader.addEventListener(IOErrorEvent.IO_ERROR, replyMessageErrorHandler); 
     // Create the request to be done 
     var request:URLRequest = new URLRequest("http://localhost:8080/_user/a/ad/admin/message.create.html"); 
     request.requestHeaders = new Array(new URLRequestHeader("x-sakai-token", sakaimain.token)); 
     request.method = URLRequestMethod.POST; 
     request.data = toSend; 
     // Do the request 
     loader.load(request); 

有人在這裏看到問題嗎?

回答

1

問題已解決。我創建了URLVariables而不是一個可以解決問題的對象。

var urlv:URLVariables = new URLVariables(); 
urlv["sakai:type"] = "internal"; 
urlv["sakai:sendstate"] = "pending"; 
urlv["sakai:messagebox"] = "outbox"; 
urlv["sakai:to"] = "internal:"+sakaimain.gui.dgMessages.selectedItem["from"]; 
urlv["sakai:subject"] = sakaimain.gui.dgMessages.selectedItem["subject"]; 
urlv["sakai:body"] ="testreply with AIR GUI"; 
urlv["sakai:previousmessage" ] = sakaimain.gui.dgMessages.selectedItem["id"]; 
0

首先檢查你的網址。這就是流錯誤通常起作用的地方。確保你可以發佈到你的flex應用程序之外的那個url。如果你不能,你可能會得到一個更好的錯誤信息。

你使用什麼服務器端語言?你真的打算張貼到.html文件嗎?

如果URL是準確的,請嘗試使用一個鍵值對發送一個更簡單的請求。

此外,我不知道,但你確定可以在表單變量名稱中使用:冒號嗎?我想這可能取決於您使用的服務器端語言。

+0

感謝您的幫助! 該URL絕對正確,我做了一個curl請求,併發布它應該。 在該URL(.html)上映射了一個Java servlet。 我使用冒號,因爲這是後端所期望的,所以我沒有自己的選擇。 – PhysX 2010-05-25 12:57:56