将数组从Php传递到AS3时出错
我是AS3新手,我曾尝试过几次将数组从php传递到AS3。但是我做不到。 但是我设法把问题缩小到了一组代码,所以我想知道我需要做什么来改变它 什么时候函数是这个将数组从Php传递到AS3时出错,php,arrays,actionscript-3,flash,actionscript,Php,Arrays,Actionscript 3,Flash,Actionscript,我是AS3新手,我曾尝试过几次将数组从php传递到AS3。但是我做不到。 但是我设法把问题缩小到了一组代码,所以我想知道我需要做什么来改变它 什么时候函数是这个 function Asandler(event:Event){ var responseVariables:URLVariables = new URLVariables(event.target.data); nobed = responseVariables.nobed ; zip
function Asandler(event:Event){
var responseVariables:URLVariables = new URLVariables(event.target.data);
nobed = responseVariables.nobed ;
zip = responseVariables.zip;
Location = responseVariables.Location;
price = responseVariables.price;
}
它返回一个错误#2101:传递给URLVariables.decode()的字符串必须是包含名称/值对的URL编码查询字符串
但是当我把它改成
function Asandler(event:Event){
s1.test.text=event.target.data
}
它在动态文本字段中显示数组,没有问题
php回显部分
$solutions = array();
while ($row = mysqli_fetch_assoc($sql))
{
echo "nobed=".$solutions[1]=$row['nobed'];
echo "&zip=".$solutions[2]=$row['zip'];
echo "&Location=".$solutions[3]=$row['Location'];
echo "&price=".$solutions[4]=$row['price'];
}
测试数据字符串
nobed=100&zip=100&Location=100&price=100
新的尝试,测试它与动态文本字段,它显示整个字符串
var receivedValue:String = event.target.data.replace(/^\s+|\s+$/mg, "");
var test:Array = receivedValue.split(",");
s1.test.text =test[0];
但不太确定如何把绳子分开 您可以发布实际生成的字符串的外观吗?您没有在服务器端对其进行编码,因此我怀疑这是一个未编码字符问题。此外,如果您有超过1行,您将得到一个无效字符串,原因有两个:price的结尾和nobed的开头将没有分隔符,并且密钥将重复。好的,我现在就把它放在答案中,但是错误发生在我输入任何内容之前。当页面刚刚加载时,会立即弹出错误2101。那么字符串是否完全为空?也可能不是这样。只需在代码之前添加一个快速检查,以确保它不是空的。测试数据应该可以。我只能假设它与您想象的不同(例如,包含换行符、错误消息、BOM表等)