![](/img/trans.png)
[英]XMLHttpRequest cannot load . . . No 'Access-Control-Allow-Origin' header is present on the requested resource.
[英]XMLHttpRequest cannot load “ …No 'Access-Control-Allow-Origin' header is present on the requested resource.” — Jquery
我最近對此請求有疑問。令我最困惑的是,直到將其部署到我的機器上,該問題才會在localhost上發生。 然后,我不得不改變我的代碼,以支持跨域請求,如建議在這里 。
在此之前
$.get('//js.mysite.com/javascript.php', options, function(xml) {
$(xml).find('item').each(function(idx) {
.....
},
'xml'
);
現在我改為
$.ajax({
type : 'GET',
url : '//js.mysite.com/javascript.php/',
data : options,
dataType : 'xml',
success : function(xml) {
.....
},
jsonp: 'jsonp'
});
兩者都可以在我的本地計算機上正常工作。 但是他們在我的開發機器上失敗了。 當我在開發瀏覽器上通過網絡檢查並檢查請求標頭時,我意識到托管站點上的請求URL將返回為
Request Url https://js.mysite.com/javascript.php?prefix=prefix&media=2&campaign=15&mode=txt
和我的本地機器
Requst Url http://js.mysite.com/javascript.php?prefix=prefix&media=2&campaign=15&mode=txt
當我從托管站點返回的鏈接將https更改為http時,它可以正常工作。 我的問題是https來自哪里? 考慮到它在托管站點上返回https和在本地上返回http,我如何更改代碼以支持此類更改。 托管站點返回404錯誤,錯誤消息xmlhttprequest cannot load no 'access-control-allow-origin' header is present on the requested
。
任何幫助,建議或更好的解釋將不勝感激。
HTTPS
來自提供網頁的任何協議。 即,如果您的遠程服務器正在強制進行SSL連接,它將使用HTTPS
。
這是因為//
你的url : '//js.mysite.com/javascript.php/',
告訴你的客戶端使用當前發出請求的網頁的協議。
編輯:我的猜測是您的遠程服務器不支持HTTPS請求。 您可以啟用SSL,或僅在應用程序上使用HTTP。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.