将数组从javascript格式化为php的更好方法,反之亦然?

时间:2012-09-10 22:01:32

标签: php javascript codeigniter xmlhttprequest

我正在创建一个页面,用于读取,写入和修改mysql数据库中的数据。我使用带有codeigniter的php来执行查询,但是用户将看到的页面我正在使用javascript,根据用户选择动态填充和更改数据。为此,我将大量数据从php传递到javascript函数,反之亦然,但我想知道是否有更好的格式化数据的方法。例如,这是一个javascript函数,它使用XMLHttpRequest来调用php函数并获得结果:

var myarray = new Array(2);
myarray[0] = document.getElementById("my_input").value;
myarray[1] = document.getElementById("my_select").value;
xmlhttp.open("POST", "my_url/my_function/"+myarray.join('|'), false);
xmlhttp.send();
document.getElementById("my_element").innerHTML=xmlhttp.responseText;

我只是对传递给php函数的字符串执行一个explode()并执行必要的查询。这似乎是php和javascript之间非常尴尬的交互。有没有更好的,或至少是不同的方式来做到这一点?

1 个答案:

答案 0 :(得分:3)

JSON (JavaScript Object Notation)似乎就是您要找的。您可以使用JSON.stringify将几乎所有类型的Javascript变量转换为字符串,然后使用json_decode在php中恢复原始结构,反之亦然使用json_encodeJSON.parse。< / p>

见: