从提交的Javascript对象中插入PHP中的key =>值对

时间:2013-11-22 09:19:36

标签: javascript php

我试图弄清楚如何使用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"}

编辑:错字

3 个答案:

答案 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;