1. JSON.parse()
JSON.parse用于从一个字符串中解析出json对象
例如:
1 | var str = '{"name":"huangxiaojian","age":"23"}' |
结果:Object
age: “23”
name: “huangxiaojian”
proto: Object
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
2. JSON.stringify()
JSON.stringify()用于从一个对象解析出字符串
例如:
1 | var a = {a:1,b:2} |
结果:”{“a”:1,”b”:2}”
1 | <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> |
Jquery实现Ajax异步提交时报错”Uncaught TypeError: Illegal invocation”,百度一查发现formData是一个对象,在JQ封装是Ajax发送请求上传数据的时候,只能传字符串,jquery传递对象/数组,无法传递,并且服务端无法获取数据。JSON.stringify()方法,它可以将客户端发送的JSON数据对象进行序列化操作。因为需要把对象json序列化后,才能传递到后台,后台根据json字符串进行反序列化。
1 | data:{wi:JSON.stringify(formData)}, // 将formData实例化 |
当然,当使用原生Ajax时,可以不用实例化
1 | // 原生 Ajax |
3. header()
header() 函数向客户端发送原始的 HTTP 报头。
例如:
1 | <?php |
上述函数只用于form表单提交。
通过表单提交的时候可以做个判断,当用户名所在的输入框为空时,button按钮变成不可点击,如果不为空,button按钮设置为可点击按钮。
1 | <body> |
4. 自定义属性
1 | var checks = $("input:checkbox"); |
why????因为userSelect是数组,userSelect[]是值,不能直接设置属性,
1 | var checks = $("input:checkbox"); |