JS JSON序列化 Ajax form表单
2024-10-18 20:40:07
# JS序列化
a = {"k1":"v1"} #序列化为字符串 类似python json.dumps(a)
b = JSON.stringify(a)
"{\"k1\":\"v1\"}" #序列化为字典 类似python json.loads(b)
c = JSON.parse(b)
Object { k1: "v1" } 1.
Python序列化
字符串 = json.dumps(对象) 对象->字符串
对象 = json.loads(字符串) 字符串->对象
JavaScript:
字符串 = JSON.stringify(对象) 对象->字符串
对象 = JSON.parse(字符串) 字符串->对象
应用场景:
数据传输时,
发送:字符串
接收:字符串 -> 对象
2. ajax $.ajax({
url: 'http//www.baidu.com',
type: 'GET',
data: {'k1':'v1'},
success:function(arg){
// arg是字符串类型
// var obj = JSON.parse(arg)
}
})
$.ajax({
url: 'http//www.baidu.com',
type: 'GET',
data: {'k1':'v1'},
dataType: 'JSON',
success:function(arg){
// arg是对象
}
})
$.ajax({
url: 'http//www.baidu.com',
type: 'GET',
data: {'k1':[1,2,3,4]},
dataType: 'JSON',
success:function(arg){
// arg是对象
}
})
发送数据时:
data中的v
a. 只是字符串或数字
$.ajax({
url: 'http//www.baidu.com',
type: 'GET',
data: {'k1':'v1'},
dataType: 'JSON',
success:function(arg){
// arg是对象
}
})
b. 包含属组
$.ajax({
url: 'http//www.baidu.com',
type: 'GET',
data: {'k1':[1,2,3,4]},
dataType: 'JSON',
traditional: true,
success:function(arg){
// arg是对象
}
})
c. 传字典
b. 包含属组
$.ajax({
url: 'http//www.baidu.com',
type: 'GET',
data: {'k1': JSON.stringify({}) },
dataType: 'JSON',
success:function(arg){
// arg是对象
}
})
d.传整个form表单
$(function () {
ajaxsumbit();
}); function ajaxsumbit() {
$("#btn").click(function () {
$.ajax({
url: "ajax1.html",
data: $("#fm").serialize(), # form表单内容
type: "GET",
dataType: "json",
success: function (args) {
console.log(args.username);
console.log(args.passwd);
console.log(args.status);
$("#sp").text(args.status + " " + args.passwd + " " + args.username);
},
error: function () {
alert("error")
}
})
})
}
3. 事件委托 $('要绑定标签的上级标签').on('click','要绑定的标签',function(){}) $('要绑定标签的上级标签').delegate('要绑定的标签','click',function(){}) 4. 编辑
5. 总结 新URL方式:
- 独立的页面
- 数据量大或条目多
对话框方式:
- 数据量小或条目少
-增加,编辑
- Ajax: 考虑,当前页;td中自定义属性
- 页面(***)
删除:
对话框
最新文章
- 如何用SQL语句实现Mysql数据库的备份与还原
- 跨平台日志清理工具 Log-Cutter v1.0.3 正式发布
- equals 与 ==
- js判断客户端平台
- slatsatck file模块2种写法及系统初始化
- 通过查看mysql 配置参数、状态来优化你的mysql
- 对c++服务端进行覆盖率统计
- C语言刷新缓冲区(转载)
- 链接一个外部lib库的时候注意事项
- 关于微信小程序的一些思考
- Cable master--hdu1551(二分法)
- [leetcode-575-Distribute Candies]
- Android Debug Bridge
- Python 基于python操纵zookeeper介绍
- 消息队列_MSMQ(1)简单了解
- centos7 安装mysql5.7
- IdentityServer4支持的授权类型以及组合
- [译]通往 Java 函数式编程的捷径
- python使用变量
- Oauth2.0(一):为什么需要 Oauth2.0 协议?
热门文章
- Java之集合(九)LinkedHashMap
- 再学Java 之 Integer 包装类缓存
- mybatis的小问题记录
- 《LeetBook》leetcode题解(17):Letter Combinations of a Phone Number[M]
- Chapter 3 Phenomenon——3
- Cocos2d-x游戏导出android工程,提取cocos的so文件
- springboot 常用插件
- 机器学习入门学习笔记:(一)BP神经网络原理推导及程序实现
- SpringBoot入门 (一) HelloWorld
- [笔记] Python字典