JQ中的AJax&跨域

拓展:slideToggle  (切换slideUp和slideDown的效果)


一、HTTP协议-请求方法


最常见的增删改查所需要用到的请求方式有:

增加一般使用  post请求

删除一般使用  delete请求

修改一般使用  put请求

查询一般使用  get请求

接口最终用什么请求取决于后端



二、使用jQuery处理Ajax

$.ajax() 方法

$.get() 方法

$.post() 方法


1、$.ajax() 方法

通过 HTTP 请求加载远程数据

jQuery.ajax([settings])

Settings:可选。用于配置 Ajax 请求的键值对集合

图例:

$.ajax() 方法-参数

methood   可以利用methood:修改请求方式


async  默认是true为异步 false表示同步


cache  表示是否缓存页面的数据 默认为true  改为false则表示不缓存此页面 dataType为script或jsonp 默认是false


data    表示发送到服务端的数据


dataType  预期服务器返回的数据类型 类型:script、jsonp、json (如果服务器返回数据是字符串类型 使用dataType:"json"可以自动转成json类型)


error    请求失败时(404)调用此函数   形式参数err会返回请求失败的信息对象

success    请求成功后 可以通过形参获取后台传输的数据


jsonp   在jsonp请求中重写回调函数的名字

jsonpCallback  给jsonp请求指定一个回调函数名



查看请求方式


异步和同步区别:

异步有一定的等待时间 一件事没做完可以做另一件事 

同步表示一件事做完之后 再做另一件事


小练习:

利用JQ的Ajax插入表格内容


2、$.get() 方法

通过 HTTP GET 请求从服务器上请求数据

$.get(URL,callback);

URL:必需参数,路径

Callback:可选参数,请求成功后所执行的函数名


$.post() 方法

通过 HTTP POST 请求从服务器上请求数据

$.post(URL,data,callback);

URL:必需参数,路径

Data:可选参数,连同请求发送的数据

Callback:可选参数,请求成功后所执行的函数名

图例:


三、跨域


什么是跨域

跨域,指的是浏览器不能执行其他网站的脚本

产生跨域的原因

由浏览器的同源策略造成的

同源策略:同域名,同端口,同协议


跨域解决


跨域解决方案1(一般是后端添加)

CORS跨域资源共享

服务端:header("Access-Control-Allow-Origin:*");

缺点

ie10以下不支持

示例图:


跨域解决方案2

jsonp

动态创建script标签,使用jQuery的jsonp请求

优点

兼容性强&不受同源策略的限制

缺点

只能用get方法,不能使用post方法

callback名称以及后面的¥回调函数名一定要一样

示例图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。