06ajax

本文介绍了AJAX的基本概念,强调了其无刷新更新页面的优势和存在的跨域、SEO问题。AJAX状态值包括从0到4的五个阶段,常见HTTP状态码如200(成功)、404(未找到)。解决跨域的方法有JSONP和CORS,其中CORS通过设置Access-Control-Allow-Origin头实现。
摘要由CSDN通过智能技术生成

1.ajax的概念及其优缺点

AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。

优点

  • 可以无需刷新页面而与服务器端进行通信。
  • 允许你根据用户事件来更新部分页面内容。

缺点

  • 没有浏览历史,不能回退
  • 存在跨域问题(同源)
  • SEO (搜索引擎优化)不友好,爬虫程序无法得到ajax的数据

2.ajax状态值和状态码

在AJAX实际运行当中,对于访问XMLHttpRequest(XHR)时并不是一次完成的,而是分别经历了多种状态后取得的结果,对于这种状态在AJAX中共有5种,分别是:
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

下面是常见的HTTP状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

3.什么是跨域,如何解决

  • 同源政策:浏览器使用ajax请求只能向与本网站同域名、同协议、同端口的服务器的数据。违背了这个政策的即为跨域。
  • 解决方式:
    1. 通过jsonP,其原理就是利用了script标签天生就具有跨域的能力,当然,它只支持get请求。我们可以在js代码中向动态的html中添加一个script标签,将需要服务器数据的函数通过和目标url拼接成新的url,再将新的url传入scrpit标签的src属性。服务端得到请求参数中的函数,并将数据和函数拼接成js代码,返回给浏览器,浏览器再解析调用。
    2. 通过设置cors:跨域资源共享。在服务端,设置响应头中的Access-Control-Allow-Origin为*,或者将能够访问的url地址。这个响应头的信息就是告诉浏览器我的服务器允许你跨域,浏览器就会发行。支持各种类型的请求
    3. 可以通过代理的方式实现。nigix服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值