从AS3向PHP发送数据时缺少部分POST数据

从AS3向PHP发送数据时缺少部分POST数据,php,actionscript-3,flash,Php,Actionscript 3,Flash,我使用Greensock数据加载器将一些数据从AS3发送到PHP。这是我的密码: var request:URLRequest = new URLRequest(PHP_LOCATION); var data:URLVariables = new URLVariables(); data.abc = "abc"; data.pqr = voicedata; data.def = 1; data.xyz = "xyz"; data.lmn = ""; request.data = data; re

我使用Greensock数据加载器将一些数据从AS3发送到PHP。这是我的密码:

var request:URLRequest = new URLRequest(PHP_LOCATION);
var data:URLVariables = new URLVariables();
data.abc = "abc";
data.pqr = voicedata;
data.def = 1;
data.xyz = "xyz";
data.lmn = "";
request.data = data;
request.method = URLRequestMethod.POST;

var dataLoader:DataLoader = new DataLoader(request, { name:"phploader", onProgress:OnProgressHandler, onComplete:OnCompleteHandler, onError:OnErrorHandler } );
dataLoader.load();
所以我用语音bytearray发送一些普通数据,比如string和int。在PHP上,我收到的数据如下:

$abc = $_POST['abc'];
$def = $_POST['def'];
$pqr = $_POST['pqr'];
$xyz = $_POST['xyz'];
$lmn = $_POST['lmn'];
SomePHPFunction($abc, $def, $pqr, $xyz, $lmn);
大多数情况下,AS3和PHP之间的通信功能正常。然而,发生的情况是,有时20次PHP函数中有5次遇到错误。我在PHP上遇到的这5次错误是:

PHP Notice:  Undefined index: abc
PHP Notice:  Undefined index: lmn
发生这种情况的具体原因是什么?我不清楚为什么部分数据被接收,但部分数据没有被接收

有什么建议吗?

试试这个

import flash.display.*;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequestMethod;

    var urlReq:URLRequest = new URLRequest ("nameofphppage.php");

    urlReq.method = URLRequestMethod.POST; 

    var urlVars:URLVariables = new URLVariables(); 
    urlVars.abc = 'abc';
    urlVars.def = 'def';
    urlVars.pqr = 'pqr';
    urlVars.xyz = 'xyz';
    urlVars.lmn = 'lmn';

    urlReq.data = urlVars;  

    var loader:URLLoader = new URLLoader (urlReq); 

    loader.dataFormat = URLLoaderDataFormat.VARIABLES; 
    loader.load(urlReq); 
然后是你的php

<?php
$abc = $_POST['abc'];
$def = $_POST['def'];
$pqr = $_POST['pqr'];
$xyz = $_POST['xyz'];
$lmn = $_POST['lmn'];
SomePHPFunction($abc, $def, $pqr, $xyz, $lmn);
?>

正在使用URLLoader的传统方法。然而,我发现当前使用Greensock的DataLoader的方法比使用URLLoader更可靠。它一直运作良好。所以我真的觉得没有必要改变这种方法,除非这个问题正是因为这个原因而发生的。