serializearray php,javascript - jQuery的serializeArray对象赋值问题
目前的情况是这样的,后端采用PHP的YII框架,通过view方式将数据返回给前端。
其中有一个form表单,通过绑定onclick事件,把php获取过来的数据请求到另外一个后端,即如下的sendAction.php。
问题:通过jQuery的serializeArray()方法赋值后,生成了一个对象,请问如何往这个对象赋值呢(比如如下代码,通过php获取的$results,往postdata这个对象里赋值,以便sendAction.php能够接受到这个value)?下面这段代码显示key对应的results传过去了,但是对应的results的value没有传过来,在后端打印的话,显示为[object object]
function doAction(id){
var url = 'sendAction.php';
var postdata = $("#form").serializeArray();
postdata[postdata.length]={name:'id',value:id};
var results = $results))?>;
postdata[postdata.length]={name:'results',value:results};
$.ajax({
type: "POST",
url: url,
data:postdata,
//dataType:"json",
success:function(){
alert("发送成功");
};
});
}
回复内容:
目前的情况是这样的,后端采用PHP的YII框架,通过view方式将数据返回给前端。
其中有一个form表单,通过绑定onclick事件,把php获取过来的数据请求到另外一个后端,即如下的sendAction.php。
问题:通过jQuery的serializeArray()方法赋值后,生成了一个对象,请问如何往这个对象赋值呢(比如如下代码,通过php获取的$results,往postdata这个对象里赋值,以便sendAction.php能够接受到这个value)?下面这段代码显示key对应的results传过去了,但是对应的results的value没有传过来,在后端打印的话,显示为[object object]
function doAction(id){
var url = 'sendAction.php';
var postdata = $("#form").serializeArray();
postdata[postdata.length]={name:'id',value:id};
var results = $results))?>;
postdata[postdata.length]={name:'results',value:results};
$.ajax({
type: "POST",
url: url,
data:postdata,
//dataType:"json",
success:function(){
alert("发送成功");
};
});
}
var results = $results))?>;
相当于 var results = {results: theJsonObject}; 对吧?
而http协议传输数据的时候是不可能把数组传递给php的,而是特定格式的字符串,也许是json字符串,也许是xml,也许是常见的 key1=value1&key2=value2 方式,没问题吧?
所以,ajax提交的时候必然会把postdata转换为字符串,而此时postdata是一个嵌套数组的时候,也许会发生问题,所以导致了你遇到的问题。
建议把上面那行修改成
var results = '$results))?>';
这样就相当于var results = '{results: theJsonObjct}',是一个普通的字符串了,php端得到之后再json_decode一下就可以恢复,你觉得呢?
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
serializearray php,javascript - jQuery的serializeArray对象赋值问题相关推荐
- jquery数组及对象赋值不影响原对象及数组的方法
1.对象 New = Object.assign({},Old) New = JSON.parse(JSON.stringify(Old )) 2.数组 New = $.extend(true,{}, ...
- php赋值 jq,jQuery的serializeArray对象赋值问题
目前的情况是这样的,后端采用PHP的YII框架,通过view方式将数据返回给前端. 其中有一个form表单,通过绑定onclick事件,把php获取过来的数据请求到另外一个后端,即如下的sendAct ...
- jquery方法.serializeArray()获取name和value并转为json数组
jquery的.serializeArray()方法可以获取形如以下 [ {name: 'firstname', value: 'Hello'}, {name: 'lastname', value: ...
- jQuery ajax - serializeArray() 序列化方法,让你一分钟获取表单里的所有内容
一.对 serializeArray() 的理解 1.serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组. 2.serializeArray()函 ...
- jquery中serializeArray()与serialize()
示例表单: <form id="form">用户名:<input type="text" name="username"& ...
- javaScript与jQuery中Window对象
一,Window对象概述:对游览器窗口的控制.window对象代表游览器打开的窗口. 二,Window对象的属性: document-对话框中显示的当前文档 location-指定当前文档的URL n ...
- JavaScript——jQuery速查手册
jQuery 获取jQuery 补充知识点 基础 $(para)中可以传入的参数 css selector jquery unique selector jquery容错机制 按顺序选择 按属性选择 ...
- JavaScript权威指南--window对象
知识要点 window对象及其客户端javascript所扮演的核心角色:它是客户端javascript程序的全局对象.本章介绍window对象的属性和方法,这些属性定义了不同的API,但是只有一部分 ...
- JavaScript中的Date对象在Safari与IOS中的“大坑”
最近小编在做一个会议室预定的功能,这个功能就像在买电影票时选择座位一样,看看会议室的哪个时间段空闲,有什么设备等等.由于我做的是APP,APP既要兼容Android,又要兼容IOS,刚开始的开发与调试 ...
最新文章
- linux 输出重定向_Linux--文件描述符和stdin,stdout,stderr
- python 向量余弦相似度
- 压缩流--DeflateStream和GZipStream
- 汇编语言--微机CPU的指令系统(五)(字符串操作指令)
- 作业2 分支循环结构
- 第7节 三个败家子(7)——收藏IQ也会贬值
- 【转】vscode配置C/C++环境
- Spring(二)--FactoryBean、bean的后置处理器、数据库连接池、引用外部文件、使用注解配置bean等...
- vue-json-excel前端导出excel教程
- Numpy 基本除法运算和模运算
- 结对编程2-单元测试
- discuz 门户diy实现翻页功能的修改记录
- 边界值法中的上点、内点和离点分析
- 基于 OpenLayers3 实现的 HTML5 GIS 电信资源管理系统
- python爬取网易云课堂python课程
- 神雕侠侣手游服务器维护,《神雕侠侣》2020年6月18日更新维护新服开启公告
- 企业邮箱登录入口,邮箱登陆登录入口有哪些?
- 安装oracle gcc版本,安装cx_Oracle时报错:error: command 'gcc' failed with exit status 1
- 近期全球知识图谱相关行业动态、会议讲座、综述推荐
- 软件测试工资直追开发,是我的错觉吗?