jquery 的$.ajax post 多维数组 给php

在JavaScript中定义了一个多维数组,想把数组提交到php中处理,用$.ajax的post方法提交过去后得到的是字符串,请问怎么才能得到数组?
例如
js中的数组var postArr = ["1", "中学生网上购物调查问卷", "", [["5", "第一个问题", 0, [["1", "第一个问题的选项1", "0"], ["2", "第一个问题的选项2", "0"], ["3", "第一个问题的选项3", "0"]]], ["8", "第二个问题", 0, [["6", "第二个问题的选项2", "0"]]]]]
php中接收到的是:5,第一个文件,0,1,第一个问题的选项1,0,2,第一个问题的选项2,0,3,第一个问题的选项3,0,8,第二个问题,0,6,第二个问题的选项2,0
数组展开成字符串了。我怎么能得到js中的那样的数组?

你用的是jQuery的post方式向服务器发送数据,JavaScript是运行与浏览器端的脚本语言,不与后台语言关联的,你传递的是JavaScript的数组,后台程序是不可能认识JavaScript类型的(你的后台又不是用JavaScript代码写的)。
关键post方式本身传递数据的时候传递的字符串类型。你的参数是数组,那么传递数据前JavaScript会将数组用toString方法转换成字符串再发送到后台,因此数组就变了样子。建议换一种数据方式传递。比如:1=问卷调查&2=第二个问题&3=第三个问题
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-05
提交的时候就用字符串 然后用不同的分隔符 比如“, |”这些 提交过去后用PHP把他拆分称数组 搞定!
第2个回答  推荐于2018-03-23
js 提交json格式的数据,然后在PHP里可以用json_decode ()获得PHP数组形式的数据追问

["1", "中学生网上购物调查问卷", "", [["5", "第一个问题", 0, [["1", "第一个问题的选项1", "0"], ["2", "第一个问题的选项2", "0"], ["3", "第一个问题的选项3", "0"]]], ["8", "第二个问题", 0, [["6", "第二个问题的选项2", "0"]]]]]
像这个数组怎么用json格式呢?

本回答被网友采纳

jquery 的$.ajax post 多维数组 给php
你用的是jQuery的post方式向服务器发送数据,JavaScript是运行与浏览器端的脚本语言,不与后台语言关联的,你传递的是JavaScript的数组,后台程序是不可能认识JavaScript类型的(你的后台又不是用JavaScript代码写的)。关键post方式本身传递数据的时候传递的字符串类型。你的参数是数组,那么传递数据前JavaScript...

javascript(jquery)怎么传变量给php
.ajax({ type:'post', url:"你的php地址+参数", success: function(data){ php返回的结果就是data } });请将jquery引入到网页,不然无法使用。还有什么问题欢迎追问。

java 、JQuery问题,$.ajax()、$.post()、$.get(),各在什么情况下使用...
jQuery.get()回调函数里面的 this ,指向的是Ajax请求的选项配置信息:3. jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数:url (String) : 发送请求的URL地址.data (Map) : (可选) 要发送给服务器的数据,以 Key\/value 的键值对形式表示。callback (...

AJAX怎么通过POST把一个数据发给PHP?
getDeviceID=$_POST[senddata];改成$getDeviceID=$_POST['senddata'];接收的参数需要加上单引号。另外如果是jquery就比较简单了,去jquery官网下载jq3.3.1然后引入 php部分 <?phpecho json_encode($_POST,320);?>html部分 function freshdata(){ $.ajax({ url: "test.php",\/\/提交地址 ...

如何在同一个PHP页面,通过ajax把值传给PHP变量?
fruit = $_POST['fruit']; \/\/ 获取从 ajax 传过来的 fruit 的值,这里是 apple。如果你想在前端重新显示这个字符串 apple,那么你要用 PHP 把数据返回给页面,然后在上面 “\/\/ 成功后的回调” 里面,补充逻辑代码。例如 PHP 把 apple 返回给前端:return json_encode(array('fruit' => '...

PHP怎么接收jQuery的Ajax post过来的值?
1、首先安装配置php集成环境。以phpstudy为例。2、在www目录下新建一个html文件(new1.html),和一个php(ab.php)文件。3、html文件先引用所需的类库jquery文件,其次在body部分,以一个简单的表单提交为例。4、html的javascript-ajax部分,以上步body中的cilik事件为例。5、php文件的编写部分,主要...

jquery中的$.post(),提交到php端如何获取值?
ajax 提交 后在控制器里dump($_POST)你提交的数据 可在 控制台 里看返回的数据 查看是否有结果 在控制器里 echo "0k" 是返回结果 页面中 javascript 中的 if(data=='ok'){...} 才可执行。

请问怎么用JQuery的Ajax()向本页面发送数据,然后通过php接受发送的数据...
.post('a.php', {id: '5'}, function(data) { if(data.status==1){ \/\/todo } \/\/todo });\/\/{id: '5'} 如果参数错,可以用序列化$(form).serialize(),$.post为post提交,$.get为get提交。服务器取值$_GET和$_POST \/\/php id = $_POST['id'];...

怎么用一个ajax把一个div里的数据提交给后台的php执行呢,就是保存...
写一个jQuery的示例,假设要获取123的内容并保存;up.php页面只要向正常的表单一样用$_POST['text']就可以获取到传递过去的参数了。

jquery ajax使用方法
JQUERY:.ajax({ type:'post',\/\/可选get url:'action.php',\/\/这里是接收数据的PHP程序 data:'data='dsa'',\/\/传给PHP的数据,多个参数用&连接 dataType:'text',\/\/服务器返回的数据类型 可选XML ,Json jsonp script html text等 success:function(msg){ \/\/这里是ajax提交成功后,PHP程序...

相似回答