2010-05-25 65 views
0

我在Actionscript中的XMLList中有值。需要將這些值發送到數據庫並進行更新。 我的ActionScript代碼如下:從ActionScript發送xml到PHP

public static function saveUserPermList():void { 

     var ht:HTTPService = new HTTPService(); 
     ht.url = Config.getServerURL(); 
     ht.method = URLRequestMethod.POST; 
     //ht.resultFormat = "e4x"; 
     ht.contentType = "text/xml"; 
     ht.request["action"] = "saveUserPermListXML"; 
     ht.request["pdata"] = Application.application.userPermListModel.toString(); 
     ht.addEventListener(ResultEvent.RESULT,AdminUserList.saveUserPermListResult); 
     ht.send(); 
    } 
    public static function saveUserPermListResult(e:ResultEvent):void { 
     trace(e);     

    } 
  1. 我怎樣才能XMLList中的數據發送到PHP?我應該向它添加一個toString()嗎?
  2. 還應該在Flex中的contentType。

我如何能趕上這裏面的PHP,PL讓我知道,試圖用,這樣一來,

如果($用戶 - > isAllowedAccess()){

header("Content-type:text/xml"); 
    $postedData = $_POST["pdata"];  

    // $xmldoc = simplexml_load_string($POST['pdata']); 
    // echo($xmldoc); 

}

沒有運氣。 Pl讓我知道。

+0

託默勒格嗨,沒有得到你。發佈源代碼的屏幕截圖以顯示我正在嘗試的內容。如果有更好的方法,請讓我知道。 – 2010-05-25 11:18:38

回答

0

HTTPService的屬性可能應該是「POST」,而請求本身的contentType應該可能是「application/x-www-form-urlencoded」。

在PHP端,$_POST["pdata"]將隨後是包含XML標記的字符串。您可以直接將其保存到數據庫中,或者先將其解析爲XML(通過SimpleXMLDOMDocument),然後對包含的數據執行一些操作。

PS:我剛剛發現this answer似乎揭示了HTTPService類的內部行爲。

+0

內容類型爲「application/x-www-form-urlencoded」不起作用。只是想知道如何從Actionscript發送一個XML字符串到PHP。 代碼中使用的集合是XMLList。 – 2010-05-26 04:51:39

+0

@Vish:您是否嘗試安裝網絡嗅探器並查看通過電線傳輸的數據包?也許這是調試問題的第一步。 – Tomalak 2010-05-26 07:41:05

+0

嗨Tomalak,感謝您的提示,實際上嘗試了另一種選擇。拆分XMLList以創建一個字符串,然後將字符串發送到PHP。在PHP中,使用爆炸函數來獲取內容。工作正常。 再次感謝。 – 2010-05-26 09:42:00