2010-04-04 5 views
2

Flex의 레일 앱에 XML을 보내려고합니다. URLRequest 및 URLLoader 객체를 사용하고 있습니다. 그러나 이러한 플래시 개체를 사용하여 레일 응용 프로그램에 XML 및 _method 매개 변수를 보내는 방법을 결정하는 데 문제가 있습니다. 아래는 현재 어떻게 이것을 달성하기 위해 노력하고 있습니다.XML을 Rails App에 전송하는 Flash/Flex

 var request:URLRequest = new URLRequest(); 
     request.method = URLRequestMethod.POST; 
     request.data = new Object(); 
     request.data.xml = Blog.xml.toXMLString(); 
     request.contentType = "text/xml"; 
     var loader:URLLoader = new URLLoader(); 
     loader.addEventListener(Event.COMPLETE, saveCompleteHandler); 
     var saveUrl:String = ""; 
     saveUrl = BASE_URL; 

     if (Blog.isNewBlog) 
     { 
      // Set the rails REST method. 
      request.data._method = "POST"; 
      saveUrl += "blogs.xml"; 
     } 
     else 
     { 
      // Set the rails REST method. 
      request.data._method = "PUT"; 
      saveUrl += "blogs/" + Blog.id.toString() + ".xml"; 
     } 
     request.url = saveUrl; 
     //trace(request.data.toString()); 
     loader.load(request); 

그러나 서버로 전송되는 유일한 데이터는 [개체 개체]입니다. 어떤 사람이 내가 어디로 잘못 가고 있는지 알려 주면 크게 감사 할 것입니다. 감사.

+0

JSON을 corelib와 함께 사용하는 것이 좋습니다. JSON은 XML보다 작고 잘 지원됩니다 (레일스 방식). – Maz

답변

2

request.dataURLVariables 개체를 사용하고 싶을 것입니다.

var request:URLRequest = new URLRequest(); 
request.data = new URLVariables(); 
request.data.xml = Blog.xml.toXMLString(); 
... 

데이터를 직렬화하면 예상되는 형식이 될 것입니다. 나는 이것을 API description for URLRequest.data에서 벗어나고있다.

1

이전 게시물지만, 유용 할 수 있습니다 : 게다가

request.data.xml = Blog.xml.toXMLString();

당신은 또한

request.data [ 'XML'] = Blog.xml.toXMLString()을 수행 할 수 있습니다;

관련 문제