首页
学习
活动
专区
圈层
工具
发布

ajax前端传多维数组到php后台,关联数组转json到后台方法

很多人碰到过ajax传值时无法直接传数组,而百度的大多数都是不能用的 所以我想到了一个方法: ?...第一步:将数组转换为json字符串 这是一个技术性的问题,百度说的JSON.stringify(arr)是不能转换关联数组的,甚至索引数组也是有很多缺点 所以我特意封装了个js递归函数 function...,能把数组全部解析为字符串 这样就可以在ajax里面传值啦~~~ 第二步 : 但是这样转换成的json字符串是不完整的,不能直接解析出全部的数组 如图 ?...可以发现,这个函数会将下级的子json字符串给用斜杠转义,越往下走斜杠越多, 当后台json_decode 处理第一层级时,第二层其实仍是json_decode字符串 所以后台需要一个新的decode函数用于解析这个...json字符串,这样后台可以直接用一个json_decode解析 本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn 上一篇:

4K10

AJAX--总结

初次创建时,这个属性的值从 0 开始,直到接收到完整的 HTTP 响应,这个值增加到 4。...status 由服务器返回的 HTTP 状态代码,如 200 表示成功。 事件句柄 onreadystatechange 每次 readyState 属性改变的时候调用的事件句柄函数。...AJAX+PHP流程 创建对象 请求初始化 发送请求 接受并处理结果 GET传参 可以直接拼接传参 POST传参 setRequestHeader() 设置Post传参 方法原理...放在send之前,open之后 setRequestHeader('','application/x-www-form-urlencoded') send('a'+n1+'a2'+n2) 数组处理 php...AJAX将阻塞之后的程序运行,直到响应完全接收完毕为止. AJAX无法跨域与jsonp ​ AJAX无法跨域 JSONP利用到script标签 不受同源策略的影响.所以可以跨域

63710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Php面试问题_php面试常问面试题

    的尾部传递参数的 post请求是在请求空白行的位置传递参数的 ② 传参的大小不同 get请求,其传参的最大值为2kb post请求理论上是没有任何限制的,但是实际应用中,受到php.ini文件的影响,一般为...防止类和函数方法冲突 命名空间可以解决下面两个问题: (1)用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。...31、 PHP获取当前时间 time() Php截取字符串:substr函数 PHP查找字符串中是否有子串: 32、五个有关数组处理函数?...array_splice(array1,start,length,array2) 从数组中移除相应的元素,并用新元素替换它 array_push() (进栈)向数组的尾部添加一个或多个元素, array_pop...() (出栈)从数组的中删除最后一个元素 33、跨域请求有哪几种方式??

    2K10

    Ajax第一节

    我们现在通过ajax的确可以返回一些简单的数据(一个字符串), 但是在实际开发过程中,肯定会会设计到大量的复杂类型的数据传输, 比如数组、对象等,但是每个编程语言的语法都不一样。...处理json php关联数组 ==> json ( json_encode ) // php的关联数组 $obj = array( "a" => "hello", "b" => "world...工具函数 每次发送ajax请求,其实步骤都是一样的,重复了大量代码,我们完全可以封装成一个工具函数。...方法 jQuery为我们提供了更强大的Ajax封装 $.ajax 参数列表 参数名称 描述 取值 示例 url 接口地址 url:"02.php" type 请求方式 get/post type:"get...因此需要从通过ajax获取图片 //2. 使用模版引擎将获取到的数据渲染到页面 //3. 因为图片路径是从服务端获取的,加载需要时间,需要等待图片加载完成后才能使用瀑布流进行布局。 //4.

    4.9K20

    Jquery 常见案例

    在页面的ready函数里使用ajaxForm来给你页面上的表单做这些AJAX提交的准备工作。 ajaxForm 需要零个或一个参数。这唯一的一个参数可以是一个回调函数或者是一个可选参数对象。...从 0.91 版本开始, 这个方法 始终 返回一个数组。 如果没有符合条件的域,这个数组将会是个空数组,否则它将会包含至少一个值。 是否可以连环调用: 否, 这个方法返回的是一个数组。...'beforeSubmit'函数调用时需要3个参数:数组形式的表单数据,jQuery 对象形式的表单对象,可选的用来传递给ajaxForm/ajaxSubmit 的对象。...下面就是可以用的选项: 'xml': 如果 dataType == 'xml' 则 server 端返回的数据被当作是 XML 来处理, 这种情况下'success'指定的回调函数会被传进去 responseXML...数据 'json': 如果 dataType == 'json' 则server端返回的数据将会被执行,并传进'success'回调函数 'script': 如果 dataType == 'script

    9.5K10

    php变量与JS变量实现不通过跳转直接交互的方法

    本文实例讲述了php变量与JS变量实现不通过跳转直接交互的方法。...分享给大家供大家参考,具体如下: 大家都知道如果JS变量要获取后台传来的php变量可以这么写/【当下浏览的服务器和开发工具是哪些】/: php $aaa = '111';?...> var aaa = php教程_linux常用命令_网络运维技术】/3;php echo $aaa;?...>; 那么我们如何将js变量的值直接付给php变量呢 第一种方法也是最常见的方法: 无刷新:使用ajax传参 有刷新:直接跟表单一起提交或者直接跟在跳转链接的后面。...现在我来说一下第二种传值方式: 示例为对js变量进行日期处理: $c = "document.write(leaderTask_info['end_time']);";

    2.1K20

    【javascript】异步编年史,从“纯回调”到Promise

    ) 虽然foreach函数的调用需要一定的时间,但array数组的输出一定是在所有的数组元素都被输出之后才输出, 因为foreach是同步的 又如setTimeout总是异步的: setTimeout(...在1的基础上,我们把这种不确定的情况稍微变得夸张一些: 这个函数中传入的回调, 有99%的几率被异步调用, 有1%的几率被同步调用 在1和2的基础上, 你向一个第三方的函数传了一个回调, 然后在经过了一系列不可描述的...没错,我们急需做的的就是得到这些对我们的“回调”至关重要的信息(异步操作成功的信息, 异步操作失败的信息), 并且通过一种规则让它们强制地传递给我们的回调 让我们一步步来看看什么是Promise 1.首先...(表示异步操作成功了),当调用 reject方法的时候, 会把Promise对象的状态从Pending变为Rejected,表示异步操作失败了, 而如果这两个函数没有调用,则Promise对象的状态一直是...,并且返回一个新的“大Promise”, 只有数组里的全部Promise的状态都转为Fulfilled(成功),这个“大Promise”的状态才会转为Fulfilled(成功), 这时候, then方法里的成功的回调接收的参数也是数组

    1.5K80
    领券