我在javascript中有一个数组,我需要加入并通过URL发送给PHP,如下所示:
var objects = [];
objects.splice("red",0,"apple");
objects.splice("yellow",0,"banana");
objects.splice("purple",0,"grape");
var string = objects.join("+");
$("#print_div").load("fruits.php?fruits=" + string);
在PHP中,我想收到字符串并将其转换回数组......如下所示:
$fruits = explode(" ", $_REQUEST['fruits']);
foreach($fruits as $key => $value){
echo "The " . $value . " is " . $key;
}
也许是javascript中的连接或拼接不会使这个工作,或者可能是php中的爆炸。我不确定,但我需要一个解决方案,能够在javascript中创建一个数组的自定义索引,然后发送到PHP,仍然能够访问索引和值名称。
感谢您的帮助!
答案 0 :(得分:1)
如果您在javascript中使用objects.join("+")
,则应在PHP中使用explode("+", $_REQUEST['fruits'])
答案 1 :(得分:1)
尝试使用push()
向数组中添加元素。
答案 2 :(得分:1)
您可能需要查看parse_str
,它接受一个GET字符串并将其解析为数组,键控和所有内容。
答案 3 :(得分:0)
您使用splice
错误。检查here。
您可以将数据传递给.load方法,如下所示,这很简单。
var data = {
"red": "apple",
"yellow": "banana",
"purple": "grape"
};
$("#print_div").load("fruits.php", data);
在php中:
foreach($_GET as $key => $value){
echo "The " . $value . " is " . $key;
}
答案 4 :(得分:0)
假设这是你的对象:
var fruits = {
red: "apple",
yellow: "banana",
purple: "grape"
};
将它传递给php,如:(ref)
$("#print_div").load("fruits.php", {fruits: fruits});
像这样使用它:
$fruits = $_REQUEST['fruits'];
foreach($fruits as $key => $value){
echo "The " . $value . " is " . $key;
}
答案 5 :(得分:0)
即使您在原始代码中没有更改任何其他内容,此行
$("#print_div").load("fruits.php?fruits=string");
应该是
$("#print_div").load("fruits.php?fruits="+string);