首頁 > web前端 > js教程 > 主體

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

Susan Sarandon
發布: 2024-10-28 00:09:01
原創
1024 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板