关于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 ...
随机推荐
- JavaScript中的constructor和继承
概述 这是我在看JavaScript面向对象编程指南的时候,对constructor和继承的总结. 关于它们的详细知识,可以上网查到,所以我只写那些网上没有的. 内容 constructor的理解 c ...
- linux 软件安装篇
在linux下安装软件,不像windows一样,下一步下一步安装,但是也有很方便的方式.也有自定义的安装方式,总体来说,套路还不算太深,但是要实践才能出真知哦! linux版本有很多,但是大部分命令都 ...
- windows上xshell6的安装
各位大兄弟,好用的xshell组件来了,话不多说,开搞. 软件链接链接:https://pan.baidu.com/s/1vcRo2L-LNe2BrJ9-VCy57A 密码:ei73 有下面四个软件, ...
- python实现归并排序算法
归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为O(nlogn). 1945年由约翰·冯·诺伊曼首次提出.该算法是采用分治法(Divide ...
- 机器学习基石笔记:06 Theory of Generalization
若H的断点为k,即k个数据点不能被H给shatter,那么k+1个数据点也不能被H给shatter,即k+1也是H的断点. 如果给定的样本数N是大于等于k的,易得mH(N)<2N,且随着N的增大 ...
- Python基础入门教程(3)
人生苦短,我学Pyhton Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于199 ...
- .NET手记-ASP.NET MVC快速分页的实现
对于Web应用,展示List是很常见的需求,随之而来的常见的分页组件.jQuery有现成的分页组件,网上也有着大量的第三方分页组件,都能够快速实现分页功能.但是今天我描述的是用基本的C#和html代码 ...
- 【2019北京集训3】逻辑 树剖+2-sat
题目大意:有一颗有$m$个叶子节点的二叉树. 对于叶子节点$i$,$x[i]=(a[i]\ xor\ V_{p[i]})or(b[i]\ xor\ V_{q[i]})$ 对于非叶子节点$i$,$x[i ...
- 接口自动化思路_JAVA
写在开头: 技术渣做接口自动化,大神们请轻喷!多提提优化方案和问题点. 以前做接口测试一直通过postman 和 soapUI来做,Postman 是Chrome的一个插件Case多了不好管理,同时执 ...
- ADSL 动态IP拨号VPS 软件配置
http://yun.baidu.com/share/link?uk=2520566727&shareid=330788421&third=0&adapt=pc&fr= ...