Ajax请求
2019-02-27 11:52:12来源:博客园 阅读 ()
var request;
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
用XHR发送请求:
open(method,url,async) 调用XHR对象,async表示同步还是异步,默认为true(异步);
send(String) 发送请求。
request.open("POST","create.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //必须写在open和send中间
request.send("name=熏悟空&sex=男");
一、xhr取得响应
- responseText:获得字符串形式的相应数据;
- responseXML:获得XML形式的相应数据;
- status 和 statusText:以数字和文本形式返回http状态码;
- getAllResponseHeader():获取所有的响应报头;
- getResponseHeader():查询响应中的某个字段的值;
- readyState属性:响应返回成功的时候得到通知;
(1)0:请求未初始化,open还没有调用;
(2)1:服务器连接已建立,open已经调用了;
(3)2:请求已经接收,也就是接收到头信息了;
(4)3:请求处理中,也就是接收到响应主体了;
(5)4:请求已完成,且响应已就绪,也就是响应完成了;
二、典型的xhr建立ajax的过程。
- new一个xhr对象;
- 调用xhr对象的open方法;
- send一些数据;
- 对服务器的响应过程进行监听,来知道服务器是否正确得做出了响应,接着就可以做一些事情。比如获取服务器响应的内容,在页面上进行呈现;
jQuery中的ajax:
$.ajax({
type:"GET",
url:"service.php?number="+$("#keyword").val(),
dataType:"json", 预期服务器返回数据的类型
success:function(data){
if(data.success){
$("searchResult").html(data.msg);
}else{
$("#searchResult").html("出现错误:" + data.msg);
}
},
error:function(jqXHR){
aler("发生错误:"+ jqXHR.status);
}
});
get/post请求的区别:
1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。
2. 首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
3. GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。
get请求和post请求在服务器端的区别:
4. 在客户端使用get请求时,服务器端使用Request.QueryString来获取参数,而客户端使用post请求时,服务器端使用Request.Form来获取参数.
HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。
当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠、更安全。
原文链接:https://www.cnblogs.com/zhen-prz/p/10439592.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Javascript Ajax异步读取RSS文档具体实现 2020-02-25
- jquery ajax检测用户名是否存在的方法 2020-02-14
- jQuery Ajax使用FormData对象上传文件的方法 2019-11-10
- js循环修改数组属性key值 2019-08-14
- 前端笔记之微信小程序(三)GET请求案例&文件上传和 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash