首頁  >  文章  >  web前端  >  如何在沒有外部程式庫的情況下使用 JavaScript 進行跨域 JSONP 請求?

如何在沒有外部程式庫的情況下使用 JavaScript 進行跨域 JSONP 請求?

Susan Sarandon
Susan Sarandon原創
2024-10-28 00:09:01942瀏覽

How to Make Cross-Domain JSONP Requests in JavaScript Without External Libraries?

在沒有外部函式庫的情況下從JavaScript 發出JSONP 請求

對於JavaScript 中的跨域JSONP 請求,並不總是需要像jQuery 這樣的外部庫。以下是使用純 JavaScript 實現此目的的指南:

第 1 步:建立回呼函數

首先定義一個回呼函數來接收和處理 JSONP 回應。在提供的範例中,foo 函數執行此任務:

<code class="javascript">function foo(data) {
  // Do something with the JSON response here
}</code>

第2 步:動態建立腳本元素

接下來,建立一個<script>元素並將其src 屬性設定為JSONP 端點。確保將回呼函數名稱包含為查詢參數:</script>

<code class="javascript">var script = document.createElement('script');
script.src = '//example.com/path/to/jsonp?callback=foo';</code>

第3 步:將腳本元素附加到DOM

一旦<script>創建元素後,將其附加到<head>中該文件的。這將啟動JSONP 請求:</script>

<code class="javascript">document.getElementsByTagName('head')[0].appendChild(script);</code>

對於現代瀏覽器,您可以將此行簡化為:

<code class="javascript">document.head.appendChild(script);</code>

範例

將這些步驟組合在一起,這是一個完整的在沒有外部函式庫的情況下使用JavaScript 發出JSONP 請求的範例:

<code class="javascript">function foo(data) {
  // Do stuff with JSON
}

var script = document.createElement('script');
script.src = '//example.com/path/to/jsonp?callback=foo'

document.head.appendChild(script);</code>

以上是如何在沒有外部程式庫的情況下使用 JavaScript 進行跨域 JSONP 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn