2010-05-24 2 views
2

나를 위해 처리하는 페이지에 데이터를 게시하려고합니다. 난 항상하지만, 오류를 다음 얻을 :AIR 응용 프로그램에서 POST 수행

ioErrorHandler : 의해 IOErrorEvent 유형 = "IO 오류"거품 = false를 취소 할 수 = 거짓의 EventPhase = 2 텍스트 = "오류 # 2032 :. 스트림 오류 URL : 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

먼저 URL을 확인하십시오. 스트림 오류가 일반적으로 발생하는 곳입니다. Flex 애플리케이션 외부에서 해당 URL에 게시 할 수 있는지 확인하십시오. 그렇게 할 수 없다면 더 나은 오류 메시지가 나타날 것입니다.

사용중인 서버 측 언어는 무엇입니까? .html 파일에 게시하려고하십니까?

URL이 정확한 경우 하나의 키 - 값 쌍만있는 간단한 요청을 보내보십시오.

또한 모르겠지만 양식 변수 이름에 : 콜론을 사용하는 것이 좋을까요? 내가 사용하고있는 서버 측 언어에 따라 다를 수 있습니다.

+0

도움 주셔서 감사합니다. URL이 정확하고 컬 요청을했고 꼭해야하는 것처럼 게시했습니다. 해당 URL (.html)에 매핑 된 Java 서블릿이 있습니다. 백 엔드가 예상하는 콜론을 사용하므로 선택의 여지가 없습니다. – PhysX

관련 문제