【发布时间】:2011-03-09 04:14:24
【问题描述】:
是否可以从 flash 中调用 PHP 函数并立即执行?
如果是这样,我怎么能这样做,因为我正在尝试调用一个 PHP 函数来更新用户的 Facebook 状态,但到目前为止我一直没有成功,所以我有点走投无路了。
任何帮助将不胜感激,谢谢!
【问题讨论】:
是否可以从 flash 中调用 PHP 函数并立即执行?
如果是这样,我怎么能这样做,因为我正在尝试调用一个 PHP 函数来更新用户的 Facebook 状态,但到目前为止我一直没有成功,所以我有点走投无路了。
任何帮助将不胜感激,谢谢!
【问题讨论】:
我的想法类似于以下内容:
function updateFBStatus(newStatus)
{
// create two new instances of LoadVars, one to send and one to receive data
var dataOut:LoadVars = new LoadVars();
var dataIn:LoadVars = new LoadVars();
// define what should happen when the response is received,
// using 'this' to refer to dataIn and get data from it
dataIn.onLoad = onReturn;
dataOut["newStatus"] = newStatus;
dataOut.sendAndLoad(serverURL+"setFBStatus.php", dataIn, "POST");
}
然后,您在服务器上定义setFBStatus.php 文件以读取$_POST['newStatus'] 并执行您通常在php 中执行的任何操作来设置facebook 状态。如果需要,该 php 文件可以选择以 url 请求格式(即paramName1=param1&paramName2=param2&)回显一些返回值,供您的 onReturn 函数读取。
【讨论】:
看看AMF PHP!
【讨论】:
将 PHP 函数保存在 facebookFunction.php 中并使用 URLLoader 调用它。
var urlLoader:URLLoader = new URLLoader();
var data:URLVariables = new URLVariables();
//you can use dot syntax and/or [] syntax to add data.
data.user = "kiele";
data["someThingElse"] = "something else";
var req:URLRequest = new URLRequest("facebookFunction.php");
req.data = data;
urlLoader.load(req);
在php端,可以从全局get变量中读取值。
$user = $_GET["user"]
【讨论】:
我会在 flash actionscript 中使用 getURL("javascript:someFunction(var-1, var-2, var-n)") http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001180.html 调用 javascript 函数
然后,该 javascript 函数可以向 php 脚本发出 ajax 请求。
编辑:
您可以直接发布数据而不使用 AJAX:
var firstName:String = "Gus";
var lastName:String = "Richardson";
var age:Number = 92;
getURL("@987654322@", "_blank", "POST");
【讨论】:
为什么您不使用 Facebook 的 Flash API:http://code.google.com/p/facebook-actionscript-api/?
【讨论】: