報這個錯誤
其實瀏覽器成功傳送請求並拿回了資料 只是瀏覽器的同源策略 禁止了獲取 在xhr2 伺服器端支援跨域 需要在響應頭增加
access-control-allow-origin: * //*代表任何域。也可以指定位址
access-control-allow-methods: post,get //支援的方法
同源策略主要針對xmlhttprequset 保證請求url 必須跟當前站點的協議 網域名稱 埠 一致
xhrwidtcredentils 跨域請求是否包含cookie 票據等憑證(不常使用見)
可以通過這個屬性判斷是否支援跨域:
伺服器端響應介面需要加上這2個響應頭頭
access-control-allow-origin: * //*代表任何域。也可以指定位址
access-control-allow-methods: post,get //支援的方法
window.onload = functionjsonp實現跨域請求() }
xhr.send(
null
); }
伺服器端支援:返回資料格式必須是calback() callback必須是請求客戶端存在的**函式
瀏覽器端:
通過建立script標籤請求外部資源 沒有同源策略限制
支援跨域請求的服務端 響應資料為callback() 當作為js解析 則正好呼叫了我們的**函式
例子:客戶端
function伺服器端根據學號查詢學生資訊的支援跨域介面 ""&callback=""getjsonp(url, callback)
finally
}if (url.indexof("?") === -1)
else
//設定script標籤的請求位址
scriptdom.src =url;
//將他追加到文件
}
服務端最終 查詢資料 響應客戶端 這樣的內容requset.querystring["callback"]+"()「
ajax跨域請求問題中xhr2的解決方案
對於跨域請求目前常用的有三種方式,1 2 jsonp,3 xhr2,前面兩種方式我這邊不做介紹,相關的帖子有很多,但是對於xhr2的跨域處理方式很多都介紹的很簡單,這邊對xhr2處理跨域請求做乙個簡單的講解。首先先貼js端 跨域請求方法示例 function ajaxpost 示例為post請求 當...
天易38 sturts2 jsonp的使用
jsonp json with padding 是 json 的一種 使用模式 可用於解決主流瀏覽器的跨域資料訪問的問題。由於同源策略,一般來說位於 server1.example.com 的網頁無法與不是 server1.example.com的伺服器溝通,而 html 的 三 後端示例 priv...
使用csync2 inotify實現檔案實時同步
注 要使用inotify模組,系統版本必須是linux 2.6.13及以上。一 關鍵技術 利用csync2 sqlite實現資料的高效實時的增量備份,相關目錄及檔案資訊都儲存在sqlite資料庫中,大大提公升了同步的速率和效率 利用inotify觸發式 實時 執行csync同步命令更新檔案。二 方案...