為了保護智財權,不然你做的介面別人**都隨便用了
是瀏覽器拒絕的
一般有三種方法,哪三種方法呢???是下面三種方法:
"> function handledata(data)
//把callback=handledata發給伺服器,伺服器拿到handledata
const http =
//callback就是=後面的fn,因此伺服器返回fn(data),瀏覽器接收到後就會根據預置的方法執行
}else})
.listen
(8888
)//埠8888,終端node一下開啟伺服器
function
fn(data)
<
/script>
//傳送請求,callback裡的fn傳給伺服器,伺服器拿到再返回給瀏覽器fn(),瀏覽器然後執行
''>
<
/script>
function
jsonp
(url,data=
)//使用promise,先獲得data資料,再執行函式
return
newpromise
((resolve,reject)
=>=$
`).join
('&'
) script.src = url+
'?callback=fn&'
+query//在script標籤上新增鏈結
script.
onerror=(
)=>
reject
('載入失敗'
) document.head.
(script)
//新增script標籤
document.head.
removechild
(script)
//刪除script標籤})
}
伺服器說:「瀏覽器兄弟,我允許任何域都能獲取資源,你不用替我攔截非同源的請求了了」
這時候就用到伺服器中轉
同源策略和跨域
url由三部分組成 資源型別 存放資源的主機網域名稱 資源檔名。也可認為由4部分組成 協議 主機 埠 路徑 url的一般語法格式為 帶方括號的為可選項 protocol hostname port path parameters query fragment protocol 協議 指定使用的傳輸協...
,同源策略和跨域
當前頁面的url 和目標請求的url不一樣 是瀏覽器的一種安全策略 所謂同源就是同乙個源頭。官方同源 協議 埠號 網域名稱必須完全相同 違背同源策略就是跨域 當前頁面的url 和目標請求的url不一樣 jsonp,jsonp是非官方的跨域解決方案,只支援get請求。它借助script標籤的跨域能力來...
ajax跨域以及同源策略
一 同源策略 在不同的url中,如果協議 網域名稱 埠相同,那麼這些url則為同源,如果協議 網域名稱 埠其中有一項不同,與路徑不同無關,則為不同源,不同源的url傳送請求則為跨域請求。在瀏覽器中跨域採用同源策略,除非js的 的 前端框架 css的外部樣式等,可以發現這些不受同源策略的限制可以載入跨...