Ajax无刷新
Posted in-the-game-of-thrones
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax无刷新相关的知识,希望对你有一定的参考价值。
Ajax 是什么?
AJAX = Asynchronous javascript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。
Ajax 有什么作用?
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器 进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下, 对网页的某部分进行更新。 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。 Ajax 可使因特网应用程序更小、更快,更友好。
原生的 Ajax 开发步骤:
长整形标准 http 状态码,定义如下:
- Number Description (描述) 100 Continue
- 101 Switching protocols
- 200 OK(正确返回)
- 201 Created
- 202 Accepted
- 203 Non-Authoritative Information
- 204 No Content
- 205 Reset Content
- 206 Partial Content
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- 303 See Other
- 304 Not Modified
- 305 Use Proxy
- 307 Temporary Redirect
- 400 Bad Request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not Found(找不到页面请求)
- 405 Method Not Allowed
- 406 Not Acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition Failed
- 413 Request Entity Too Large
- 414 Request-URI Too Long
- 415 Unsupported Media Type
- 416 Requested Range Not Suitable
- 417 Expectation Failed
- 500 Internal Server Error(服务器内部错误)
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
- 505 HTTP Version Not Supported
readyState 状态值
- 0 (未初始化) 对象已建立,但是尚未初始化(尚未调用 open 方法)
- 1 (初始化) 对象已建立,尚未调用 send 方法
- 2 (发送数据) send 方法已调用,但是当前的状态及 http 头未知
- 3 (数据传送中) 已接收部分数据,因为响应及 http 头不全,这时通过 responseBody 和 responseText 获取部分数据会出现错误,
- 4 (完成) 数据接收完毕,此时可以通过通过 responseBody 和 responseText 获取完整的回应数据
HTTP 协议定义了很多与服务器交互的方法,最基本的有 4 种,分别是 GET,POST,PUT,DELETE. 一个 URL 地址用于描述一个网络上的资源,而 HTTP 中的 GET, POST, PUT,DELETE 就对应着对这个资源的查,改, 增,删 4 个操作。 我们最常见的(也是我们关心的)就是 GET 和 POST 了。 GET 一般用于获取/查询资源信息,而 POST 一般用于更新资源信息
1. //如果是 post 请求,在发送请求前需要做以下处理:
if("POST"==option.method) xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ;
2. //如果是 get 请求,没有报文头写 null:如,xmlhttp.send(null);
GET 和 POST 的区别:
1. GET 提交的数据会放在 URL 之后,以?分割 URL 和传输数据,参数之间以&相连,如 /checkUserName?name=test1&id=123456.
POST 方法是把提交的数据放在 HTTP 包的 Body 中. xmlhttp.send(“uname=”+v);
2. GET 提交的数据大小有限制(因为浏览器对 URL 的长度有限制,本身并没有限制),而 POST 方法提 交的数据没有限制。
3. GET 方式提交数据,会带来安全问题,比如一个登录页面,通过 GET 方式提交数据时,用户名和密码将 出现在 URL 上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号 和密码。
以上是关于Ajax无刷新的主要内容,如果未能解决你的问题,请参考以下文章