2015-07-02 29 views
7

की वजह से क्रोम द्वारा अवरुद्ध एक्सएचआर प्रतिक्रिया, मैं वर्तमान में jQuery एजेक्स का उपयोग एक सापेक्ष यूआरएल प्राप्त करने के लिए कर रहा हूं, इसके बिना योजना/डोमेन के बिना (जैसे '/ js/get_international_popup /'। जब मैं इसे वापस करने से पहले अपने स्थान शीर्षलेख को देखता हूं तो प्रतिक्रिया भी एक सापेक्ष यूआरएल है।मिश्रित सामग्री समस्या (http/https)

जब मैं स्थानीय रूप से इसका परीक्षण करता हूं, तो HTTP पर, सबकुछ इसके जैसा काम करता है। हालांकि, एक बार जब मैं इसे अपने लाइव सर्वर पर परीक्षण करता हूं, तो HTTPS पर प्रतिक्रिया, क्रोम द्वारा अवरुद्ध है, क्योंकि यह कहते हैं कि यह असुरक्षित है:

मिश्रित सामग्री: 'https://example.com/' पर पृष्ठ HTTPS पर लोड किया गया था, लेकिन एक असुरक्षित XMLHttpRequest endpo का अनुरोध किया int 'http://example.com/js/get_international_popup/'। यह अनुरोध अवरुद्ध कर दिया गया है; सामग्री HTTPS पर परोसा जाना चाहिए।

क्रोम के दृष्टिकोण से, मेरा स्थानीय परीक्षण अनुरोध/प्रतिक्रिया HTTP पर चला गया, लेकिन मेरा लाइव टेस्ट अनुरोध HTTPS से अधिक हो गया और HTTP प्रतिक्रिया मिली। मैं लाइव सर्वर पर क्रोम की प्रतिक्रिया देखने में असमर्थ हूं, क्योंकि यह अवरुद्ध है।

यदि मैं एक पूर्ण यूआरएल (https://domain सहित) के साथ प्रतिक्रिया देता हूं तो सब ठीक काम करने लगता है, लेकिन मैं पूर्ण यूआरएल का उपयोग नहीं करना पसंद करता हूं।

क्या किसी को पता है कि संबंधित समस्या का उपयोग करके इस समस्या को ठीक करने का कोई तरीका है या नहीं?

+0

आप अपने ajax कॉल के कोड पोस्ट कर सकते हैं, कृपया? –

उत्तर

0

आगे जोड़ते इस का उपयोग कर जावास्क्रिप्ट:

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

रेफरी: http://www.w3schools.com/jsref/prop_loc_origin.asp

नोट: जांची नहीं

संबंधित मुद्दे