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