欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript ajax 跨域

林子帆1年前8瀏覽0評論

隨著互聯網的發展,我們越來越多的需要引用跨域的數據。而使用 JavaScript Ajax 進行跨域請求就是很常見的一種方式。下面我們來探討一下 JavaScript Ajax 跨域的應用和注意事項。

首先,我們來看一下什么是跨域請求??缬蛘埱笫且环N通過 JavaScript 在一個域名下向另外一個域名發送 HTTP 請求的技術。通俗地講,就是瀏覽器禁止了不同源(域名、協議、端口號)間的請求。比如,從 a.com 的頁面向 b.com 發送請求。

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://www.example.com', true);
xhr.send();

但是,這段代碼運行的時候會提示```跨域請求被禁止```。那么該如何處理呢?

Ajax 跨域請求最簡單的處理方式是使用 JSONP。JSONP 能夠繞開跨站點訪問的限制。首先,我們在網頁中引入一個寫好的 JavaScript 文件,這個 JavaScript 文件和當前網頁有相同的域名。

<script src="https://www.example.com/jsonp.js"></script>

在 jsonp.js 中我們使用參數的方式傳遞數據。jsonp.js 中有一個形參 callback,而實參則是我們自己定義的 JavaScript 函數名,這個函數用來處理傳回來的 json 格式數據。

function processData(data) {
console.log(data);
}
var script = document.createElement('script');
script.src = 'https://www.example.com/jsonp.js?callback=processData';
document.body.appendChild(script);

隨著技術的發展,JSONP 的局限性逐漸顯現。而 ajax 請求 JSONP 會默認使用 get 請求方式,不夠靈活,且無法刪除請求。所以后來就出現了新的方式 CORS。那么 CORS 是什么?

CORS 跨域資源共享,是 HTTP 協議的規范,定義了瀏覽器和服務器交互的方式之一,可以讓服務器支持跨域。CORS 需要瀏覽器和服務器同時支持。只要瀏覽器支持此規范,就可以實現跨域。

var xhr = new XMLHttpRequest();
xhr.onload = function() {
console.log(xhr.responseText);
};
xhr.open('GET', 'https://www.example.com');
xhr.withCredentials = true;
xhr.send();

使用 CORS 進行請求時,需要在后臺設置相關響應頭信息,允許相關協議、方法、頭信息,以及Cookie,在前端設置 withCredentials = true,標記請求可以包含認證信息。

總結:以上是一些簡單的關于 JavaScript Ajax 跨域的應用和注意事項,跨域請求并不難,只要我們掌握好相關技術,就能輕松處理跨域問題。