将字符串从 php 传递到 flash
Posted
技术标签:
【中文标题】将字符串从 php 传递到 flash【英文标题】:Pass string from php to flash 【发布时间】:2016-10-26 16:29:18 【问题描述】:我只是在 Flash CS6 中试用 php 和 AS3。我希望将一些字符串从 PHP 传递到 Actionscript3 并将它们存储在一个数组中。这可能吗?
目前我正在这样做。我的 PHP 代码是
<?php
echo "one,two,three,four";
?>
AS3 代码是:
var myRequest:URLRequest = new URLRequest("please7.php");
var myLoader:URLLoader = new URLLoader();
myLoader.load(myRequest);
myLoader.dataFormat = URLLoaderDataFormat.TEXT;
myLoader.addEventListener(Event.COMPLETE, onLoaded);
function onLoaded(event:Event):void
var variables:String = event.target.data;
trace(variables);
var arr1:Array = new Array();
arr1 = variables.split(",");
trace(arr1);
这给了我这个输出:
<?php
echo "one,two,three,four";
?>
如果我使用myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
而不是myLoader.dataFormat = URLLoaderDataFormat.TEXT;
..我会收到此错误
错误:错误 #2101:传递给 URLVariables.decode() 的字符串必须是 包含名称/值对的 URL 编码查询字符串。
我希望输出是简单的 [一二三四]
我做错了什么?
【问题讨论】:
你的 PHP 文件真的在服务器上吗? (应该是 Web 服务器,甚至是一些本地主机服务器地址)。在那之前,它只是一个文本文件,不会“回显”任何东西。您只是在阅读 PHP 中的文字(文本),而不是请求有效的服务器结果。 【参考方案1】:你可以像下面这样,它将作为查询字符串传递
在 PHP 中
<?php
echo 'q=' . htmlentities($your_data);
?>
在 AS3 中
var urlLoader:URLurlLoader = new URLurlLoader();
urlLoader.dataFormat = URLurlLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.load(new URLRequest("somefile.php"));
function onComplete (event:Event):void
trace (urlLoader.data.q.toString());
【讨论】:
你能解释一下这是什么意思吗? echo 'q=' + htmlentities($your_data); ?> 它将作为键/值项工作,其中 htmlEntities 会将特殊字符编码为 html 等效实体,例如&
到 &amps;
感谢您的帮助:)
这是给我的。这是否意味着我的 PHP 代码没有被解释为 PHP?服务器有问题? %3C%3Fphp%0D%0A%20%20%20%20%24your%5F数据=%22One%2C%20Two%2C%20Three%2C%20Four%22%3B%0D%0A%20%20%20% 20echo%20%27q%3D%27%20%20%20htmlentities%28%24your%5Fdata%29%3B%0D%0A%20%20%20%20echo%20%24your%5Fdata%3B%0D%0A% 3F%3E
上面的连接字符串有错别字。再试一次。以上是关于将字符串从 php 传递到 flash的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PHP 生成的 XML 文件包含到 flash vars 中,同时将当前的 php 函数传递到其中?
如何将 latin1 字符集关联数组从 php 传递到 javascript?