JSONP是否被分类为AJAX?
我很困惑,因为我理解XHR需要用于异步通信,但是当我查看JSONP的jQuery代码时,它“被包装在AJAX调用中
如果JSONP没有归类为AJAX那么为什么jQuery将它捆绑为AJAX函数或者我在这里缺少什么?
答案 0 :(得分:7)
如果你严格地说AJAX意味着“使用XML格式的JavaScript和服务器之间的异步通信”,那么今天只有少数几种称为“Ajax”的技术会满足这个定义,甚至许多“XML- HTTP-Requests“不传输XML数据。
因此JSONP技术只是已知的异步通信方法之一,jQuery希望将所有这些方法捆绑成一个函数 - 用最常用的术语“ajax”命名。
但是,术语“ajax”与XMLHTTPRequest
接口密切相关,后者受同源策略的限制。虽然这个不适用于使用<script>
元素的JSONP,但JSONP仅限于GET请求,需要特殊的服务器端基础结构。