<script>
// /ajax
// Ajax是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
// 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
// 同步:上一个程序执行完 执行下一个程序
// 异步:异步是一个线程在执行中,下一个线程不必等待它执行完就可以开始执行
// 优点:
// 1、局部刷新;
// 2、优化了浏览器与服务器之间的传输,减少了不必要的数据返回,减少了带宽占用;
// 3、ajax引擎在客户端进行,承担部分服务器的工作,减少了服务器端的压力;
// 缺点:
// 1、ajax不支持浏览器前进后退按钮。
// 2、安全问题 AJAX暴露了与服务器交互的细节。
// 3、对搜索引擎的支持比较弱。
// 4、破坏了程序的异常机制。
// 5、不易调试。
// ajax请求的步骤
// get
// var ajax = new XMLHttpRequest();
// ajax.open('get','js/index.json?username=871758669&password=123456',true);
// ajax.send();
// ajax.onreadystatechange = function(){
// if(ajax.readyState == 4 && ajax.status == 200){
// console.log(ajax.response)
// }
// }
// post 请求方式
// var ajax = new XMLHttpRequest();
// ajax.open('post','https://react-shopping-cart-67954.firebaseio.com/products.json');
// //post 请求需要添加请求头
// ajax.setRequestHeader('content-type','application/x-www-form-urlencoded')
// var str = 'username=871758669&password=123456'
// ajax.send(str);
// ajax.onreadystatechange = function(){
// if(ajax.readyState == 4 && ajax.status == 200){
// console.log(ajax.response)
// }
// }
// 同源策略:Ajax只能向自己的服务器发送请求。比如现在有一个A网站、有一个B网站,A网站中的HTML文件只能向A网站服务器中发送Ajax请求,B网站中的HTML文件只能向B网站中发送Ajax请求,但是A网站是不能向B网站发送Ajax请求的,同理,B网站也不能向A网站发送Ajax请求。
// 如果两个页面拥有相同的协议、域名、和端口,那么这两个页面就属于同一个源,其中只要有一个不相同,就是不同源。
// 不同域 数据不共同
// jsonp : 通过script的src解决 因为src不受同源策略影响 (将函数名字向后端传输过去 在后端进行调用 将数据当成参数传递过来)
// jquery
// jQuery是什么?
// jQuery是一个优秀的开源JavaScript库。它的体积很小,代码风格独特而又优雅,改变了JavaScript程序员编写程序的方式和思路。jQuery库有一条设计理念,那就是“写的少,做的多。其独特的选择器、链式的DOM操作方式、事件绑定机制、封装完善的AJAX使其在众多优秀的JavaScript库中脱颖而出,独树一帜,赢得了众多使用者的拥护和信赖。jQuery的语法简单易学,而且具有很强大的跨平台性,可以兼容多种核心的浏览器。目前,已经有一百多个插件来扩充jQuery的功能,使得jQuery能满足几乎所有客户端的脚本开发。
// jQuery的优势。
// 1)体积小,压缩后只有100KB左右
// 2)强大的选择器【选择方便】
// 3)出色的DOM封装
// 4)可靠的事件处理机制
// 5)出色的浏览器兼容性
// 6)使用隐式迭代简化编程
// 7)丰富的插件支持
//jq选择器
// // 1.简单选择器
// $('#box')
// $('.box')