im正在尝试找出如何使用array_unshift
将key=>value
对正确插入数组
这是我的密码。
Javascript/AAJAX
var array= {};
array['name'] = name;
array['lname'] = lname;
$.ajax ({
type:"POST",
url:"some.php",
data: {array:array},
success: function(html) {}
});
PHP将通过POST 接收数组
$array = $_post['array'];
//add additional key=>value pair in the array
array_unshift($array, "['middle']=>test");
return $array;
我没有从中得到任何错误,我只是没有看到函数打印的值。
打印结果:
Object {name: "John", lname: "Smith"}
编辑:打字错误
我认为你做得不对。。。
您不能通过PHP更改JavaScript数组(实际上它是一个对象)。但是,可以获取新数据并替换JavaScript对象。
因为我期待一个对象,所以我还不如使用JSON格式——因此使用$.getJSON()
。请注意,默认情况下这是一个GET请求。
var url = 'file.php';
var obj = {
name: name,
lname: lname
};
$.getJSON(url, { data:obj }, function(data) {
// replace object with new content
obj = data;
console.log(obj);
});
至于你的PHP代码:
// get data (remember we're using a GET request)
$data = $_GET['data'];
// add an index
$data['middle'] = 'test';
// echo data in JSON format
echo json_encode($data);
// not var array= {};
var person = {}
person['name'] = name;
person['lname'] = lname;
将person
重命名为类似的array
var array= {};
array['name'] = name;
array['lname'] = lname;
$.ajax ({
type:"POST",
url:"some.php",
data: {array:array},
success: function(html) {}
});
或者将person
阵列作为array
发送
data: {array:person},
编辑:。像一样简单尝试
$array['middle'] = 'test';