关于Ajax的get与post浅分析,同步请求与异步请求,跨域请求;
Ajax局部异步刷新全称ASynchronous JavaScript And XML.使用Javascript代码获取服务器的数据,Ajax当中有两个请求方法,一个是get方法,一个是post请求方法。
①get请求方法:请求参数在URL的后面,多个参数之间用&连接。
②post请求方法:请求参在请求体当中。
③同步请求:界面全部卡顿,卡顿时间由网络速度决定。如采用同步请求则xhr.onreadystatechange的回调函数不被执行,需要修改代码后才能够获取数据 ,将回调函数去掉即可。方法如下:
xhr.onreadystatechange=function(){
if(xhr.readystate == 4){
if(xhr.states == 200){
}
}
}//这是采用异步刷新的代码
如采用同步刷新只需将xhr.onreadystatechange的回调函数去掉即可:
if(xhr.readystate == 4){
if(xhr.states == 200){
}
}
异步的底层原理:JavaScript代码是单线程的,代码从上向下执行,一行一行执行。
事件队列:JavaScript空闲的时候会去事件队列里面看看有没有方法或者回调函数已经达到了触发条件,因为JavaScript是单线程的,一次只能做一件事。
setTimeout(function(){
console.log("我会被排在事件队列中去");
},0)
console.log("我是从上到下执行,不用等待");
上面代码打印顺序是先打印不用等待的,再打印在事件队列中的。虽然setTimeout的延迟时间是0但是事件队列中的方法与回调函数是等到其他不需要排队的函数执行完后再来执行达到条件的。
二、跨域
①同源策略:协议、域名、端口号都相同的叫同源。
http和https就是不同的协议,www.taobao.com和www.baidu.com就是不同的域名,www.taobao.com:80和www.baidu.com:40就是不同的端口号。
②Ajax只能获取同源路径下的数据,Ajax是为了访问自己的数据,跨域是为了获取服务器的数据。
③跨域的本质是服务器返回了一个方法的调用,这个方法是我们事先定义好的,而方法中的参数就是我们想要的数据。
关于Ajax的get与post浅分析,同步请求与异步请求,跨域请求;的更多相关文章
- ajax跨域请求带cookie
调用网站:a.xxx.com jQuery(document).ready(function () { $.ajax({ type: "get", async: true, url ...
- Ajax跨域请求中的Cookie问题(默认不带cookie等凭证)
1.原生Ajax请求方式,设置跨域请求附带详细参数 var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xx ...
- javascript 跨域请求详细分析(终极跨域解决办法)
自从我接触前端以来,接手的项目里面很大部分都是前后端分离的,后端只提供接口,前端根据后端接口渲染出实际页面.个人觉得这是一个挺好的模式,前后端各自负责各自的模块,分工明确,而且也给前端更大的发挥空间. ...
- 浅谈linux 下,利用Nginx服务器代理实现ajax跨域请求。
ajax跨域请求对于前端开发者几乎在任何一个项目中都会用到,众所周知,跨域请求有三种方式: jsonp; XHR2 代理: jsonp: 这种应该是开发中是使用的最多的,最常见的跨域请求方法,其实aj ...
- [转]Ajax跨域请求
一.编一个服务器端servlet @RequestMapping("/haha") @ResponseBody String haha(String haha, HttpServl ...
- jQuery的ajax jsonp跨域请求
了解:ajax.json.jsonp.“跨域”的关系 要弄清楚以上ajax.json.jsonp概念的关系,我觉得弄清楚ajax是“干什么的”,“怎么实现的”,“有什么问题”,“如果解决存在的问题”等 ...
- 有关Ajax跨域请求的解决方案
前言 最近博主在赶项目进度.所以微信二次开发那边的博文一直没有更新.后续时间会慢慢记录这个学习历程的.来年公司要开发微信小程序.到时也会记录一下历程. 闲话少说,今天在工作中遇到了SpringMVC接 ...
- 【转载】Ajax JS 跨域请求
原文: 简单的ajax请求:http://blog.csdn.net/net_lover/article/details/5172509 复杂的ajax请求:http://blog.csdn.net/ ...
- JQ之$.ajax()方法以及ajax跨域请求
AJAX(Asynchronous javascript AND xml :异步javascript和xml):是一种创建交互式网页应用的网页开发技术.AJAX可以在不重新加载整个页面的情况下与服务器 ...
- java、ajax 跨域请求解决方案('Access-Control-Allow-Origin' header is present on the requested resource. Origin '请求源' is therefore not allowed access.)
1.情景展示 ajax调取java服务器请求报错 报错信息如下: 'Access-Control-Allow-Origin' header is present on the requested ...
随机推荐
- hdu3001Travelling
参考了别人的代码 https://blog.csdn.net/u010372095/article/details/38474721 深感自己的弱小 这是tsp问题,和基本的tsp问题没什么大的区 ...
- git 命令(补充篇)的本质理解
1 标签, git tag tag_name SHA 本质: 在某次commit 上打上标签tag_name ,标签在代码库中起着"锚点"的作用. 注意: commit 由 SHA ...
- Dynamic Programming | Set 2 (Optimal Substructure Property)
正如我们在 Dynamic Programming | Set 1 (Overlapping Subproblems Property) 中讨论的那样,当一个问题具有以下2种性质时,建议使用动态规划来 ...
- Elastic-search在linux上的安装
今天是我装第四次 ES ,之前装好用了一段时间,后面莫名其妙爆炸了,炸出一堆异常... 安装环境: JDK1.8 centos ElasticSearch-6.2.4 jdk1.8以上,所以 ...
- 2018CCPC-女生专场
(咕咕咕,咕了快一年的bu题.. A.CCPC直播 传送:http://acm.hdu.edu.cn/showproblem.php?pid=6297 题意:rt. 分析:模拟. #include&l ...
- JavaScripts中关于数字的精确计算方法
问题描述: 37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) ,我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这 ...
- spring框架学习笔记7:事务管理及案例
Spring提供了一套管理项目中的事务的机制 以前写过一篇简单的介绍事务的随笔:http://www.cnblogs.com/xuyiqing/p/8430214.html 还有一篇Hibernate ...
- JS应用实例4:表格隔行换色
HTML代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- Linux开机执行指定shell
目的:希望linux在开机或重启后第一时间启动部分服务或者执行特定脚本 1.需要在/etc/init.d/目录下建立对应的shell脚本,示例如下: 开机启动docker-compose中的所有容器 ...
- JodaTimeUtil日期处理工具类(简单、实用)
一.maven依赖 <!--joda time--> <dependency> <groupId>joda-time</groupId> <art ...