我试图弄清楚如何使用key=>value
array_unshift
对插入数组
这是我的代码。
的Javascript / AJAX
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"}
编辑:错字
答案 0 :(得分:1)
我认为你做得不对......
你不能通过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);
答案 1 :(得分:0)
将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';
答案 2 :(得分:0)
// not var array= {};
var person = {}
person['name'] = name;
person['lname'] = lname;