Ajax、XMLHttpRequest、JSONP的区别
来自2020年搜狗的笔试题,第一题就不会🤣没关系 现在掌握它就好啦✌️
1、ajax和jsonp的本质不同。ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加 <script>
标签来调用服务器提供的js脚本,仅仅用于get请求
2、ajax是一种技术方案,它依赖的是现有的的CSS/HTMI/JavaScript,而其中最核心的依赖是浏览器提供的XmlHttpRequest对象。一句话总结:我们使用XmlHttpRequest对象来发送一个ajax请求
3. XMLHttpRequest用于浏览器端与服务器端异步请求数据从面实现对页面的无刷新修改,支持GET/POST请求,一般用于非跨域的场景。如果需要使用XMLHttpRequest跨域请求数据,需要通过CORS头支持。 JSONP用于跨域请求数据的场景,只支持GET请求。
4. XMLHttpRequest异常判断一般通过该对象的readystate和http状态码status来判断,JSONP的异常判断一般是onerror事件和超时timer来判断。
深入理解ajax和jsonp:
https://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html