關於js的ajax方法導致跨域問題的解決辦法

2021-08-01 03:32:41 字數 640 閱讀 7502

報錯: xmlhttprequest cannot load file:///e:2014/demo/html_ajax/header.html. cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource. 

這是由於涉及到跨域問題!

由於該網友沒有在伺服器環境裡執行含有ajax方法的頁面,而是直接通過瀏覽器開啟(類似file:///的訪問形式,即file協議)

本地頁面ajax()請求本地頁面,須通過伺服器環境執行,類似這樣:

注意:如果是在遠端伺服器裡ajax()請求外域伺服器裡的頁面,即使通過伺服器環境執行也會報跨域的錯誤,此時需要通過jsonp的形式!

什麼是jsonp

jsonp(json with padding)是json的一種「使用模式」,可用於解決主流瀏覽器的跨域資料訪問的問題。

jsonp舉例:

$.ajax(, 

error:function

() }); 

js跨域 ajax跨域 跨域方式(前端)

跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...

JS跨域ajax訪問

需要服務和js配合 服務 webmethod public void helloworld2 string name js呼叫 var datastr name birthday val ajax error function e 如果是在.net下則在web.config中增加配置 在system...

JS跨域ajax訪問

需要服務和js配合 服務 webmethod public void helloworld2 string name js呼叫 var datastr name birthday val ajax error function e 如果是在.net下則在web.config中增加配置 在system...