使用ajax前必须了解的知识
ajax的全称:
asynchronous javascript and xml
(异步的javascript和xml)
ajax不是某种编程语言
是一种在无需重新加载整个页面的情况下能够更新部分网页的技术。
一个完整的http请求过程,有7个步骤:
1.建立TCP连接。
2.Web浏览器向Web服务器发送请求命令。
3.Web浏览器发送请求头信息。
4.Web服务器应答。
5.Web服务器发送应答头信息。
6.Web服务器向浏览器发送数据。
7.Web服务器关闭TCP连接
一个http请求一般由四部分组成:
1.http请求的方法或动作,比如是GET还是POST请求。
2.正在请求的URL。
3.请求头,包含一些客户端环境信息,身份验证信息等。
4.请求体,也就是请求正文,请求正文中可以包含客户的提交的查询字符串信息,表单信息等等。
GET:(幂等:就是一个GET请求执行一次和执行一万次的效果是一样的)
1.一般用于信息获取(查询),
2.使用URL传递参数,
3.对发送的信息的数量有限制,一般在2000个字符。
4.好处就是可以添加到书签中收藏页面。
POST:
1.一般用于修改服务器上的资源,
2.对所发送的信息的数量无限制,
3.被嵌入到http的请求体中。
一个http响应一般么由三部分组成:
1.一个数字和文字组成的状态码,用来显示请求是成功还是失败,
2.响应头,响应头也和请求头一样包含许多有用的信息,例如服务类型,日期时间,内容类型和长度等,
3.响应体:也就是响应正文
http状态码由32位数字构成,其中首位数字定义了状态码的类型:
1XX:信息类,表示收到Web浏览器请求,正在进一步处理中,
2XX:成功,表示用户请求被正确接受,理解和处理,例如:200 OK
3XX:重定向,表示请求没有成功,客户必须采取进一步的动作,
4XX:客户端错误,表示客户端提交请求有错误,例如:404 NOT Found,意味着请求中所引用的文档不存在,
5XX:服务器错误,表示服务器不能完成对请求的处理,例如:500
JSON的基本概念
1.json:javasscript对象表示法,(javascript Object Notation)
2.json是存储和交换文本信息的语法,类似XML。它采用键值对的方式来组织,北京托福易于人们阅读,同时也易于机器解析和生成。
3.json是独立于语言的,也就是不管什么语言,都可以解析json,只需要按照json的规则来就行。
json和xml比较
1.json的长度和xml格式比起来很短小。
2.json读写的速度更快
3.json可以使用javascript内建德方法直接进行解析,转换成javascript对象,非常方便。
json可以是下面类型:
1.数字(整数或浮点数),比如123,1.23.
2.字符串(在双引号中)
3.逻辑值(true或false)
4.数组(在方括号中)
5.对象(在花括号中)
6.null
解析json的方法:
1.var
jsondata={“staff”:[{“name”:”红旗”,”age”:”23”},{“name”:”小红”,”age”:”13”}]};
var
jsonbj=JSON.parse(jsondata);
alert(jsonbj.staff[0].name)
使用jquery实现ajax
1.jQuery.ajax([settings])
2.type:类型,”POST”或”GET”,默认为”GET”。
3.url:发送请求的地址。
4.dataType:预期服务器返回的数据类型,如果不指定,jquery将自动根据http包MIME信息来智能判断,一般我们采用json格式,可以设置为”json”。
5.success:是一个方法,请求成功后的回调函数,传入返回后的数据,以及包含吗成功代码的字符串。
6.error:是一个方法,请求失败
时回调用此函数。传入XMLHttpRequest对象。
跨域
1.一个域名的地址组成:
协议,子域名,主域名,端口号中任意一个不相同时,都算作不同域,
2.不同域之间相互请求资源,就算作”跨域”,
3.比如http://www.abc.com/index.html 请求
http://www.egf.com/service.php
4.jsvsscript出于安全方面的考虑,不允许跨域调用其他页面的对象,什么是跨域呢,简单的理解就是因为javascript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。
5.例如www.abc.com/index.html调用https://www.abc.com/servic.php(跨域)
处理跨域的方法–代理
1.通过在同域名的web服务器端创建一个代理
2.北京服务器
3.上海服务器
4.比如北京的web服务器的后台
使用ajax前必须了解的知识的更多相关文章
- AJAX跨域调用相关知识-CORS和JSONP(引)
AJAX跨域调用相关知识-CORS和JSONP 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常 ...
- thinkphp+jquery+ajax前后端交互注册验证
thinkphp+jquery+ajax前后端交互注册验证,界面如下 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- JSON(及其在ajax前后端交互的过程)小识
一. json介绍 json是一种轻量级的数据交换格式,规则很简单: 并列的数据之间用逗号(,)分隔: 映射用冒号(:)表示: 并列数据的集合(数组)用方括号([])表示: 映射的集合(对象)用大括号 ...
- WeX5 - AJAX跨域调用相关知识-CORS和JSONP
http://docs.wex5.com/ajax-cross-domain/ 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容 ...
- AJAX跨域调用相关知识-CORS和JSONP
1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常会遇到在一个页面的JS代码中,需要通过AJAX去 ...
- SSM-网站后台管理系统制作(4)---Ajax前后端交互
前提:Ajax本身就为前后端交互服务的,实现功能:用户输入信息,实时判断用户的情况,这也是现在登录界面普遍流行的做法.前端js通过注释识别Controller层,该层查询返回,和之前Google验证码 ...
- 弄一个ajax笔记方便查询-基础知识篇
jQuery对Ajax做了大量的封装,jQuery采用了三层封装: 最底层的封装方法为:$.ajax() 通过最底层进一步封装了第二层的三种方法:.load().$.get().$.post() 最高 ...
- AJAX(一、基本知识)
AJAX:Asynchronous ([ə'sɪŋkrənəs; eɪ-])Javascript (['dʒɑ:və,skrɪpt])and XML 异步的Javascript和XMLAJAX不是新的 ...
- JQuery ajax 前后端传值介绍
https://jingyan.baidu.com/album/ca41422f0bf08e1eae99ed04.html?picindex=5 现在我们话不多说,开始仔细讲解一下我们ajax内部传递 ...
随机推荐
- poj3669 Meteor Shower (宽度优先搜索)
Description - 题目描述 Bessie听说有场史无前例的流星雨即将来临:有谶言:陨星将落,徒留灰烬.为保生机,她誓将找寻安全之所(永避星坠之地).目前她正在平面坐标系的原点放牧,打算在群星 ...
- 获取jQuery DataTables 的checked选中行
$(function () { var tabel = $('#userlist').DataTable({ destroy: true, //Cannot reinitialise ...
- React后台管理手动封装图片上传组件
分为两个文件夹,index.js(逻辑文件) styled.js(样式文件) index.js文件,编写完成之后在对应的地方引入即可 import React from "react&quo ...
- python 可变类型和不可变类型
1. 什么是不可变类型变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间.不可变类型: 数字(int,long,float) 布尔(bool) 字符串(string) 元 ...
- javaweb的Filter过滤器设置全站编码
FIlter配置全站编码有一种方法是重写getParameter方法,也就是继承HttpServletRequestWrapper在重写getParameter方法,还有一种就是如下: public ...
- Scala面向对象
面向对象编程OOP: Scala vs Java 都有这三特性 封装:把属性.方法封装到类中 Person: int id, String name, Date birthday.... 需要gett ...
- Codeforces 1080C 题解(思维+二维前缀和)
题面 传送门 题目大意: 有一个黑白的棋盘,现在将棋盘上的一个子矩形全部染成黑色,另一个子矩形全部染成白色 求染完色后黑,白格子的总数 分析 我们可以发现,对于一个(1,1)到(x,y)的矩形,若xy ...
- tensorflow用dropout解决over fitting
在机器学习中可能会存在过拟合的问题,表现为在训练集上表现很好,但在测试集中表现不如训练集中的那么好. 图中黑色曲线是正常模型,绿色曲线就是overfitting模型.尽管绿色曲线很精确的区分了所有的训 ...
- PHP算法[转]
这里是用PHP写的几个基础算法,算法的重要性貌似对于PHP程序员不怎么重要,其实是非常重 要的,经典名句:算法+数据结构=程序.作为一名真正的高级PHP程序员,我认为应该熟悉C,如果你想成为真正的程序 ...
- 2018-4-30-win2d-CanvasRenderTarget-vs-CanvasBitmap
title author date CreateTime categories win2d CanvasRenderTarget vs CanvasBitmap lindexi 2018-04-30 ...