ajax和jsonp

ajax

1.什么是ajax?

AJAX全称为“Asynchronous JavaScript

and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术

它使用:

用XML+CSS来标准化呈现

用XML和XSLT进行数据交换和相关操作

用XMLHttpRequest对象与WEB服务器进行一步通信

用js操作dom进行动态显示和交互

用js绑定和处理所有数据

2.ajax工作原理

由客户端请求ajax引擎,再由ajax引擎请求服务器,服务器做出一系列响应后,把结果返回给ajax,最后再由ajax决定把结果写到客户端的什么位置。

Ajax其核心有JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面。

3.ajax优缺点

优点:

1.无刷新更新数据

2.异步与服务器通信

3.前后端负载平衡

4.基于标准被广泛支持

5.界面与应用分离

缺点:

1.ajax干掉了Back和History功能,即对浏览器机制的破坏。

2.ajax也有安全问题,它会暴露数据和服务器逻辑。

3.对搜索引擎支持较弱。

4.不能很好地支持移动设备

5.破坏程序的异常处理机制

6.客户端过肥,增多开发上的成本。

jsonp

1.什么是jsonp

JSONP是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。

2.jsonp的原理

动态创建一个script标签,利用src属性访问没有限制,实现跨域。

3.ajax和jsonp的区别

1.ajax和jsonp调用方式很像,目的一样,都是请求url,然后把服务器返回的数据进行处理。

2.实质不同

/ / / /ajax的核心是通过xmlHttpRequest获取非本页内容

/ / / /jsonp的核心是动态添加script标签调用服务器提供的js脚本(.json)

3.区别

不存在是否能跨域

ajax通过服务端代理一样跨域

jsonp也不排斥同于的数据获取

4. 关于get和post

jsonp只支持get请求,ajax支持get和post

你可能感兴趣的:(ajax和jsonp)