2015-07-02 10 views
7

Şu anda jQuery AJAX kullanarak, göreli bir URL'yi (şema/etki alanı olmadan) kullanıyorum (ör. '/ Js/get_international_popup /'. Yanıtı vermeden önce konum üstbilgisini görüntülediğimde yanıt da göreli bir URL.XHR yanıtı, karışık içerik sorunu nedeniyle Chrome tarafından engellendi (http/https)

Yerel olarak, HTTP üzerinden test ettiğimde, her şey gerektiği gibi çalışıyor. Ancak, bir kez HTTPS üzerinden canlı sunucumda test ediyorum

Karma İçerik: o güvensiz olduğunu söylüyor çünkü yanıtı, Chrome tarafından engellendi sayfa 'https://example.com/' de HTTPS üzerinden yüklenen, ancak güvensiz bir XMLHttpRequest endpo talep edildi int 'http://example.com/js/get_international_popup/'. Bu istek engellendi; içerik HTTPS üzerinden sunulmalıdır.

Chrome'un bakış açısından, yerel test isteğim/yanıtım HTTP üzerinden geçti, ancak canlı test isteğim HTTPS'yi geçti ve bir HTTP yanıtı aldı. Chrome'un canlı sunucudaki yanıtını görüntüleyemiyorum çünkü engellenmiş.

Mutlak bir URL ile bir yanıt döndürürsem (https://domain dahil) her şey iyi çalışıyor gibi görünüyor, ancak mutlak URL'leri kullanmamayı tercih ediyorum.

Göreli URL'leri kullanarak bu sorunu düzeltmenin bir yolu olup olmadığını bilen var mı?

+0

lütfen Test edilmedi? –

cevap

0

başa getirebilir bu kullanarak javascript:

var relative_url = '/js/get_international_popup/'; 
var absolute_url = window.location.origin + relative_url; 
$.ajax(absolute_url, function(){}); 

Ref: http://www.w3schools.com/jsref/prop_loc_origin.asp

Not: Eğer ajax çağrısı kod gönderebilir

İlgili konular