2012-01-11 51 views
5

JSONP是否被分類爲AJAX?IS JSONP歸類爲AJAX?

我很困惑,因爲我理解,XHR需要被用於異步通信,但是當我看爲JSONP jQuery代碼是「包裹在一個AJAX調用

jQuery AJAX

如果JSONP不屬於AJAX那麼爲什麼有jQuery的捆綁它作爲一個AJAX功能還是我失去了一些東西?

回答

7

如果要嚴格地說,AJAX意思是「JavaScript和使用XML格式的服務器之間的異步通信」,然後只有少數技術叫做「Ajax」今天將符合該定義,因爲即使很多「XML-HTTP請求」也不會傳輸XML數據。

所以JSONP技術只是其中一種已知的異步通信方法,而jQuery希望將它們全部綁定到一個函數中 - 用最常見的術語「ajax」命名。

但是,術語「ajax」與XMLHTTPRequest接口密切相關,該接口受同源策略的限制。雖然這個不適用於使用<script>元素的JSONP,但JSONP僅限於GET請求,並且需要特殊的服務器端基礎結構。

+0

感謝您的答覆,使事情變得更加清晰 通常被認爲是一個類似的音符JSONP溶液或AJAX,JSONP解決方案 JSONP解決方案,如果一個XHR返回HTML,那麼嚴格來說,它不是XHR,正確? – 2012-01-13 15:51:57