您的位置:首页 > 编程语言 > PHP开发

js与php之间使用json格式进行数据交互

2010-04-08 20:25 921 查看
现在开始使用php进行正式开发

谈正体:

在php上,对数据进行写入库,读出库及呈现到页面上都很方便。但是提交数据一般都是使用post方式,这就有个问题了,对于页面数据及控件多,

比如:

<input name="data" id="test1" value="测试1"> id对应表t的列 test1

<input name="data" id="test2" value="测试2"> id对应表t的列 test2

<input name="data" id="test3" value="测试3"> id对应表t的列 test3

对于页面上有很多这类数据,提交过去,取的内容的话php 使用$_POST[“data”] 取道的只是key 及对应的value ,我们无法判断对应key 和value应当对应哪个列名

但是如果使用 <input name="data['test3']" id="test3" value="测试3">

这样写的话,把列名当成key来写,是可以很容易获取到对应的列名信息。

由于页面上有对数据验证之类的处理,对于js取控件使用下面方法:

document.getElementsByName("data");

这 又是个问题,当然使用jquary等,或者其他通过tag来取都是很方便的,这些这里不考虑

对应在项目中,如果我 id使用表列来命名,这样对于当前页name="data" 的控件刚好构成对应表中的一行数据,而在php中刚好列名也是id名,这样写传数据就不用再去构造数组,直接真个数组提交到库就行了,省了很多步骤。

依此,我可以n层次提交n个表及m行类数据都很容易在页面上一次提交了

为了实现建立post传过来的是一个数组 array('test1=>'=’aaa'>','test2=>'='2');这样一个数组,我在提交之前用有个步骤是js对数据进行检测,比如格式是否正确只类的,如果一切都ok我就把数据拼成一个自己想要格式的数组,然后转成json字符串,存到某个hiddin控件中,post提交。而php的页只需要接收,对转移符"\"调用stripslashes处理下,然后使用json_decode函数就很容易还原成原有格式的数组。

这样对于js和php之间的数据交互就显得特别容易了

网络上有片js json和php串行化 交互数据的文章,我参考很多都是从这来的

原文地址:http://hi.baidu.com/lostdays/blog/item/8d76c300ec4e3c15738b65fa.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: