我正在尝试通过JSON将数据发送到PHP文件,但是在尝试JSON数据时遇到错误。
我很确定我做得对。有什么建议 ?
这是我的ActionScript 3代码:
var dataToSend:Array = new Array();
var data:Object = new Object();
data.callFunction = "getQuestion";
data.numberOfQuestions = "1";
dataToSend.push(data);
trace(data);
var variables:URLVariables = new URLVariables();
variables.data = JSON.stringify(dataToSend);
var url:String = "myurl";
var request:URLRequest = new URLRequest(url);
request.method = URLRequestMethod.POST;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.load(request);
loader.addEventListener(Event.COMPLETE, requestComplete);
我的PHP代码:
if $data[ "callfunction" ] = "getQuestion";
{
echo("Sent");
}
答案 0 :(得分:0)
您的ActionScript 3代码看起来不错,但您在PHP的代码中遇到了一些问题。
让我们看看。
if
语句类似于AS3的语句:<?php if( condition ) instruction; ?>
==
而不是assignment(=
)。POST
方法发送数据时,可以使用PHP的$_POST
数组来获取数据。decode_json()
函数对其进行解码。所以你的PHP代码就像这样:
<?php
if(isset($_POST['data']))
{
$data = $_POST['data'];
$json_data = json_decode($data);
if($json_data[0]->callFunction == "getQuestion")
{
echo("Sent");
}
}
?>
然后,您可以在AS3 requestComplete
函数中获取PHP脚本的响应:
function requestComplete(e:Event): void
{
trace(URLLoader(e.target).data); // gives : Sent, for example
}
...
希望可以提供帮助。