操作表单
表单本身也是DOM树
html的表单输入控件:
- 文本框:<input type="text">
- 口令框:<input type="password">
- 单选框:<input type="radio">
- 复选框:<input type="checkbox">
- 下拉框:<select>
- 隐藏文本:<input type="hidden">用户不可见
获取值
- input.value
- input.checked
设置值
- input.value=
- input.checked=true/false
提交表单:
- <form>元素的submin()提交表单,响应button click事件
- 响应<form>本身的onsubmit事件
操作文件
<input type="file">
读取文件内容:html5的File和FileReader对象
回调:JavaScript单线程执行模式,异步调用,设置回调函数
var reader = new FileReader();
reader.onload = function(e) {
}
AJAX
不是javascript规范,请求是异步的,通过回调函数获得响应
依靠XMLHttpRequest对象
var request = new XMLHttpRequest();
request.onreadystatechange = function () {}
request.open("GET", "/api/");
request.send();
跨域
安全限制:浏览器的同源策略,URL域名必须和当前页面完全一致,域名,协议,端口号
跨域:
- 通过flash插件发送http请求
- 通过代理服务器转发"/proxy?url=http://xxxx.com"
- jsonp方式,利用了浏览器允许跨域引用javascript资源,以函数调用形式返回,只能用Get请求
- html5 CORS:
Access-Control-Allow-Origin: http://xxxx.com
Access-Control-Allow-Methods: POST,GET,PUT,OPTIONS
promise: new Promise(function(){});将来会执行的对象
Canvas:幕布,绘制图表,动画等