答案 0 :(得分:2)
您的问题是您正在使用PHP中的数组。
echo $ visitRecord-> getReferallist(); //返回引用数组。
当您通过回显将数组转换为字符串(因为echo输出字符串)时,您将获得文本“Array”。
为了通过网络发送(通过javascript通过AJAX($ .post)),您需要将引荐列表转换为字符串。一种方法是序列化。您可以使用 serialize ()函数将数组转换为“可串行格式”。 www.php.net/serialize。
当在AJAX请求中从PHP收到此消息时,您可以使用 unserialize ()函数将“可字符串格式化”数组转换回纯数组。 www.php.net/unserialize。
您的代码应该从
更改<强> $ visitRecord-&GT; getReferallist(); 强>
到
<强>序列($ visitRecord-&GT; getReferallist()); 强>
然后,当收到它时,您应该从
更改您的代码$ referrals = $ _POST ['referalList']; //数组的可串行版本
到
$ referrals = unserialize($ _ POST ['referalList']); //纯PHP数组
答案 1 :(得分:1)
答案 2 :(得分:1)
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)
我找到了解决这个问题的方法......
在javascript中使用此功能......
function js_array_to_php_array (a)
{
var a_php = "";
var total = 0;
for (var key in a)
{
++ total;
a_php = a_php + "s:" +
String(key).length + ":\"" + String(key) + "\";s:" +
String(a[key]).length + ":\"" + String(a[key]) + "\";";
}
a_php = "a:" + total + ":{" + a_php + "}";
return a_php;
}
a是您在此函数中传递的数组 然后..在你的php上你得到这个函数的返回数组写这段代码......
$my_array = unserialize(urldecode(stripslashes($_COOKIE['php_array'])));
// print_r ($my_array);
希望它有所帮助...