2012-08-29 18 views
6

मेरी समस्या है:एक आईपी का उपयोग कर getJSON काम नहीं कर रहा

जब मैं निम्नलिखित कोड

var url="http://localhost:9000/json"; 
$.getJSON(url, 
function(data){ 
    alert(data['yay']); 
    }); 

यह सही काम करता है का उपयोग कर json फोन है, लेकिन, मेरे स्थानीय होस्ट आईपी 10.0.0.145 है, और जब मैं आईपी ​​पते के साथ स्थानीय होस्ट की जगह, यह अब

var url="http://10.0.0.145:9000/json"; 
$.getJSON(url, 
function(data){ 
    alert(data['yay']); 
    }); 

उत्तर

6

आप same origin policy का उल्लंघन कर रहे हैं। यदि आप गंतव्य साइट को नियंत्रित करते हैं, तो आपको या तो JSONP कॉल की शैली का उपयोग करने पर विचार करना चाहिए या अपनी साइट पर और अपने AJAX कॉल में cross domain विकल्प (crossDomain) सक्षम करना चाहिए।

यदि आप एक ही उत्पत्ति का उल्लंघन कर रहे हैं, तो आपका ब्राउज़र डिफ़ॉल्ट रूप से कॉल नहीं करेगा। आपको पता चलेगा कि फिडलर, फायरबग या क्रोम टूल्स का उपयोग करके अपना HTTP ट्रैफिक देखकर। आप अपना अनुरोध भी निष्पादित नहीं करेंगे। यदि ऐसा है, तो उपरोक्त दृष्टिकोणों में से एक ले लो।

मुझे उम्मीद है कि इससे मदद मिलती है। सौभाग्य!

3

काम करता है कारण बस क्रॉस-डोमेन सुरक्षा है: json के ajax क्वेरी अन्य डोमेन से (जाहिरा तौर पर) केवल किया जा सकता है विशिष्ट हेडर टी द्वारा दिया जाता है, तो वह सर्वर

मेरा सुझाव है कि आप this complete reference पढ़ लें क्योंकि अब यह AJAX आधारित अनुप्रयोगों को कोड करने के लिए जानना आवश्यक है।

दोनों के लिए एक ही नाम का उपयोग करें।

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