2010-05-25 64 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