2 Stimmen

Flash/Flex sendet XML zu Rails App

Ich versuche, einige XML an eine Rails-Anwendung in Flex zu senden. Ich verwende die URLRequest und URLLoader Objekte. Ich habe jedoch Probleme zu bestimmen, wie die XML- und _method-Parameter an die Rails-App mit diesen Flash-Objekten zu senden. Im Folgenden wird beschrieben, wie ich derzeit versuche, dies zu erreichen.

        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);

Die einzigen Daten, die an den Server gesendet werden, sind jedoch [Object object]. Wenn mir jemand sagen könnte, was ich falsch mache, wäre ich sehr dankbar. Danke!

2voto

Kai Punkte 9186

Sie möchten wahrscheinlich eine URLVariables Objekt für request.data .

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

Wenn die Daten serialisiert werden, werden sie wohl das von Ihnen erwartete Format haben. Ich stütze mich dabei auf die API-Beschreibung für URLRequest.data .

1voto

Henrique Zambon Punkte 1261

Alter Beitrag, aber vielleicht nützlich: außerdem

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

können Sie auch tun

request.data['xml'] = Blog.xml.toXMLString();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X