Ajax和jsonp对比以及jsonp的优缺点

相同点:

都是从客户端向服务端发送请求。从服务端请求数据的方式

Jsonp和Ajax的区别

  1. Ajax属于同源策略,Jsonp属于非同源策略
  2. 原理不一样:
    1.Ajax:new XMLHttpRequest
    2.jsonp:通过动态创建script标签,添加src属性,前端通过传一个callback给后台,后台返回函数调用,前台将返回的函数调用再进行解析
  3. 返回值不一样:
    1.Ajax返回的是一个对象
    2.jsonp返回的是字符串
  4. 请求方式不一样:
    Ajax有多种请求方式—(get,post,delete,put,patch)
    jsonp:只有get

JSONP的缺陷

  1. 没有关于JSONP调用的错误处理,一旦调用失败,浏览器会以静默的方式处理。
  2. 他只支持get请求,只能获取数据
  3. 管理系统不能JSONP
    所以==对于一些需要对安全性有要求的跨域请求,JSONP的使用需要谨慎一点了。
    JSONP的优势
    JSONP对于老浏览器兼容性方面比较良好,因此,对于那些对IE8以下仍然需要支持的网站来说,仍然被广泛应用

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