AJAX跨域解決方案

2022-09-12 13:24:18 字數 2205 閱讀 9622

從ajax誕生那天起,xmlhttprequest物件不能跨域請求的問題就一直存在,這似乎是乙個很經典的問題了,是由於j**ascript的同源策略所導致。

解決的辦法,大概有如下幾種:

1. 使用中間層過渡的方式(可以理解為「**」)

2. 使用<script>標籤

這個方法是利用<script>標籤中的src來query乙個aspx獲得response,因為<script>標籤的src屬性不存在跨域的問題。舉個例子:

頁面**:

doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" ""

>

<

html

xmlns

="">

<

head

>

<

title

>ajax跨域問題

title

>

<

script

type

="text/j**ascript"

src=""

id="getaspx"

>

script

>

<

script

type

="text/j**ascript"

>

function

get(url)

}function

query()

script

>

head

>

<

body

>

<

input

type

="button"

value

="ajax跨域測試"

onclick

="query();"

/>

body

>

html

>

view code

getdemo.aspx後台**:

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.ui;

using system.web.ui.webcontrols;

namespace learnjs}}

view code

這個方法又叫做ajaj或者ajax without xmlhttprequest,把x換成了j,是因為使用了<script>標籤而沒有用到xml和xmlhttprequest的緣故。

3. jquery解決方法

頁面**:

<

html

>

<

head

>

<

title

>jquery學習

title

>

<

script

src="jquery-1.4.2.min.js"

type

="text/j**ascript"

>

script

>

<

script

type

="text/j**ascript"

>

$(document).ready(

function

());

});

});

script

>

head

>

<

body

>

<

button

id="btntest"

>btntest

button

>

<

div

id="result"

>

div>

body

>

html

>

view code

遠端伺服器端js.txt中的內容為:

var dylan=

跨域Ajax解決方案

客戶端web頁面使用ajax訪問跨域url時,會被瀏覽器捕獲,一般瀏覽器會給安全提示。這樣顯然使用者使用就不是太方便。這裡提供一種可以跨域的訪問方式,但本質上並不是真的跨域,而是使用http 將跨域url轉化為本域url。具體做法是這樣的 1 編寫乙個頁面proxy.jsp,在頁面中把要訪問的跨域u...

ajax跨域解決方案總結

前端開發中經常會碰到各種跨域問題,在此做一總結。實驗 先來講講什麼是跨域?dom同源策略 禁止對不同源頁面dom進行操作。這裡主要場景是iframe跨域的情況,不同網域名稱的iframe是限制互相訪問的。只要協議,主機名,埠任意乙個不同都認為是不同源的,此時相互呼叫就會造成跨域。那麼為什麼設計之初不...

ajax 跨域cookie解決方案

什麼是session,什麼是cookie?session是由應用伺服器維持的乙個伺服器端的儲存空間,使用者在連線伺服器時,會由伺服器生成乙個唯一的 sessionid,用該sessionid為識別符號來訪問伺服器端的session儲存空間。而sessionid這一資料則是儲存到客戶 端,用cooki...