快捷搜索:   nginx

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

现在开始使用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串行化 交互数据的文章,我参考很多都是从这来的
 
顶(0)
踩(1)

您可能还会对下面的文章感兴趣:

最新评论