zoukankan      html  css  js  c++  java
  • 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串行化 交互数据的文章,我参考很多都是从这来的

    原文地址:http://hi.baidu.com/lostdays/blog/item/8d76c300ec4e3c15738b65fa.html


     

  • 相关阅读:
    【Leetcode】【hard】Binary Tree Postorder Traversal
    【Leetcode】【Easy】Contains Duplicate
    【Leetcode】【Easy】Isomorphic Strings
    【Leetcode】【Medium】Simplify Path
    【Leetcode】【Medium】Add Two Numbers
    【Leetcode】【Hard】Copy List with Random Pointer
    安装torch-opencv
    【转】ubuntu下修改文件夹权限
    Lua 中的 function、closure、upvalue
    多目标跟踪方法 NOMT 学习与总结
  • 原文地址:https://www.cnblogs.com/wyxy2005/p/1707736.html
Copyright © 2011-2022 走看看