AJAX从入门到入土

AJAX

异步的JS与XML
最大的特点:在网页不刷新的情况下,向服务端发送http请求,然后得到http响应。实现懒加载效果,用则加载,不用则不加载。允许根据用户事件来更新部分页面内容。
缺点:不能回退;存在跨域问题(同源);SEO(搜索引擎优化)不友好(AJAX向服务端发送请求,服务端返回结果,通过JS动态创建到页面,所以爬虫爬不到数据)。
AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。

XML

XML 可扩展标记语言,被设计用来传输和存储数据。HTML用来在网页中呈现数据。
XML没有预定义标签,都是自定义标签。
之前,AJAX在进行数据交换时所使用的格式是XML。
服务器端给浏览器端返回的就是XML格式的字符串,然后JS对XML进行解析,把数据提取出来。

JSON

JSON相对于XML来说更加简洁,在数据转换时也更加容易。

HTTP协议

HTTP(hypertext transport protocol)超文本传输协议,协议详细规定了浏览器和万维网服务器之间相互通信的规则。
HTTP规范了两块内容:请求(客户端给服务器)和响应(服务器给客户端)。

请求报文

格式:

行		POST / URL HTTP/1.1
头		Host:xxx
		Cookie:xxx
		Content-type:xxx
		User-Agent:xxx
空行
体		username=admin$password=admin
		(如果是GET请求,请求体为空,如果是POST请求,可以不为空)

响应报文

格式:

行		HTTTP/1.1 200 Ok (协议版本 响应状态码 相应状态字符串)
头		Content-Type:text/html;charset=utf-8
		Content-length:2048
		Content-encoding:gzip
空行
体		<html>
			<head></head>
			<body>
				<h1></h1>
			</body>
		</html>
		(浏览器在接到结果之后会把响应体结果提取出来,然后对内容做出解析,在页面做出渲染和展示)

在浏览器中如何查看请求报文和响应报文

在控制台查看请求报文和响应报文:
请求报文:看Requst Headers(请求行、头)和Form Data(请求体)
GET请求有URL参数,Query String Parameters对请求的参数做出解析
请求报文
响应报文:看Response Headers和Response
响应报文的行、头
响应体
在控制台Network中可以检查参数、检查响应。

Node.js

Mode.js是基于Chrome V8引擎的JavaScript运行时,一个应用程序,解释js代码。

Express框架

AJAX给服务端发请求,使用Express框架进行演示

AJAX案例准备


'/server’客户端浏览器向服务器发送请求时,如果说url的路径是请求行的第二段内容,如果它的内容是/server的话,就执行函数体内容 。

AJAX请求的基本操作:

在这里插入图片描述

遇到的bug

has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
在这里插入图片描述
大概意思是:已被CORS策略阻止,无法访问控制允许来源,属于跨域问题。问朋友说是需要后端来解决的问题(摊手)
同源策略规定:1. 协议名,2. 域名/ip地址,3. 端口号,要求三者完全一致。 只要有一个不一样,就是违背同源策略,产生跨域,只有全部一样,才符合同源策略。

  • 同源问题
1.cors:

写服务器的人在服务器返回响应时加几个特殊的响应头,浏览器可以识别,是真正意义上的解决跨域。

2.jsonp:

借助了script标签的src属性在引入外部资源时不受同源策略限制的特点办到的。而且只能解决get请求的跨域问题

3.配置一个代理服务器:

本地和代理服务器同地址,经过代理服务器和服务器传递数据,来解决浏览器和服务器之间的跨域问题。

如何开启代理服务器?

1.nginx方法:后端方法
2.vue-cli:vue脚手架(前端方法)缺点:不能配置多个代理;不能灵活的控制到底是使用代理服务器还是服务器。
方式一:
方式一
方式二:
![方式二](https://img-blog.csdnimg.cn/bba9c2cc139f488baf2e07d6f11eed83.png![在这里插入图片描述](https://img-blog.csdnimg.cn/2f1fd75c9a81446887286542344b0d1b.png在这里插入图片描述
应用:
在这里插入图片描述

什么是源和跨域?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值