Ajax

1>概念

AJAX是异步的 JavaScript 和 XML,它不是新的编程语言,它是一种新方法。

2>过程

浏览器让XHR跟浏览器要点数据-》浏览器接着干别的事-》XHR去向浏览器请求数据-》服务器返回数据给XHR-》XHR通知浏览器数据回来了-》浏览器收到XHR返回的数据渲染页面

3>关于技术

1)XHR:全称XMLHttpRequest,它是浏览器的内置对象是Ajax的核心,它是一种支持异步请求的技术。

2)AJAX技术体系的组成部分?HTML,css,javascript,dom,xml,xmlHttpRequest

3)Ajax请求总共有八种Callback:onSuccess,onFailure,onUninitialized,onLoading,onLoaded,onInteractive,onComplete,onException。

4>js原生书写过程

1.创建对象因为兼容性问题,要判断,在IE5,IE6中创建ActiveXObject("Microsoft.XMLHTTP"),在其他现代浏览器中创建XMLHttpRequest()

2.连接,发送

xmlhttp.open("GET","ajax_info.txt",true);

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)

xmlhttp.send();

3.响应

xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }

Onreadystatechange:当 readyState 属性改变时,就会调用该函数。

readyState:存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪

Status:状态码

使用 XMLHttpRequest 对象的 responseText(获得字符串形式的响应数据。) 或 responseXML(获得 XML 形式的响应数据。) 属性。

5>全代码

var xhr=null;

if(window.XMLHttpRequest){

    xhr=new XMLHttpRequest();

}else{

    xhr=new ActiveXObject("Microsoft.XMLHTTP")

}

var url="数据";

xhr.open("get",url,true);

xhr.send();

xhr.onreadyStatechange=function(){

    if(xhr.readyState==4&&xhr.status==200){

        console.log(xhr.responseText);

        //console.log(xhr.responseXML)

    }

}

6>优缺点

1》优点:

1)最大的优点是可以无刷新的效果来更改页面的局部内容

2)使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力

3)ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,减去服务器的压力

4)基于标准化的并被广泛支持的技术,不需要下载插件或小程序

2》缺点:

1)ajax干掉了back按钮,即浏览器的后退机制的破坏(虽然可以解决但是它带来的开发成本非常高,与ajax框架要求的快速开发相违背,这是ajax所带来的一个非常严重的问题)

原因:因为浏览器仅能记下历史记录中的静态页面,一个被完整读入的页面和一个已经被动态修改过的页面之间差别非常微妙

解决问思路:用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏iframe来重现页面上的变更

             使用url片断标识符来保持跟踪,允许用户回到指定的某个应用程序状态

2)安全问题:ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器建立新的攻击,还有ajax也难以避免一些已知的安全弱点跨站脚本攻击

3)对搜索的引擎支持比较弱

4)破坏了程序的异常机制

5)无法用url直接访问,违背了url和资源定位的初衷,例如给你一个url地址,如果采用ajax记住,也许你在改url地址下面看到的和我在这个url地址下面看到的内容不同

ajax缓存问题

Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,就不会与服务器交互。

7>使用场景问题

1》不适合的场景:

1)搜索:ajax干掉了back按钮,这对于已经养成在搜索习惯的用户时不友好的

2)替换大量文本:ajax可以实现页面局部刷新,但是如果页面的每个部分都改变,还不如重新做一次服务器的请求

2》适合场景:

1)类似投票,yes/no等无关痛痒的场景:如果提交过程需要40秒,那么很多用户就会直接忽略而不去参与

2)表单驱动的交互:使用ajax点击sunmit按钮后,立刻进行异步处理,并在页面上快速显示出来

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值