介紹
我試圖運行從我們部門的內部網的網頁,不同部門的Web服務的CORS網的要求,但我出錯。由於我對此很新,所以無法確定原因是否由於不同的協議。如何發送從一個安全的起點一個XMLHttpRequest到不安全的終點
錯誤
在嘗試,而Chrome的52提供了以下運行CORS請求IE11給Access is Denied
:
Mixed Content: The page at {MyPage} was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint {ServicePage}. This request has been blocked; the content must be served over HTTPS.`
意向
創建附加的事件處理程序所需的所有JS文件input
包含class='contactLookUp'
屬性的元素。該文件僅在我們位於Intranet上的部門頁面上引用,其中大多數使用的協議爲https
。在輸入變更時,這將發送一個XMLHttpRequest
到不同的終點,一個仍然在公司內部網中,但在我們的部門控制之外,並使用http
協議。這將以JSON格式返回業務中的聯繫人,此時我將在頁面中注入一些HTML,以便用戶可以輕鬆選擇所需的聯繫人。
頁面的URL
以下是Intranet內的頁面位置。 [name]
是指公司名稱,[Location1]
和[Location2]
是不同的目錄。
起點:
https://[name]01test.[name].abc/[Location1]/HTMLPage1.html
終點:
http://[name]intranet02.[name].abc/[Location2]/TelephoneDirectory/TelephoneDirectoryService.svc/GetPeople?term=[SearchTerm]
一些可能的原因
我是很新的CORS,jQuery和Web開發所以我不確定我想做什麼是可能的,但我相信以下可能是原因:
- 混合內容(錯誤的Chrome給人讓我認爲這是原因)
- CORS不受服務器啓用(由於服務器是我們部門的控制,我不想問,如果這是啓用或啓用此,除非我敢肯定的原因不是混合量)
我已經嘗試
- 我已經嘗試終點改爲
https
但這返回404 Page not Found
錯誤
腳本
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// Check if the XMLHttpRequest object has a "withCredentials" property.
// "withCredentials" only exists on XMLHTTPRequest2 objects.
xhr.open("GET", url, true); // <= Error here
}