2012-04-25 14 views
8

में काम नहीं कर रहा है मैं JSON से डेटा को पकड़ने के लिए निम्न कोड का उपयोग कर रहा हूं।

$(document).ready(function() 
{ 
    $.getJSON("http://www.xyz.com/data.php?id=113&out=json", function(data) { 

     $.each(data.issue.page, function(i,item) { 
      imagesJSON[i] = item["@attributes"]; 
     }); 

     alert(imagesJSON.length); 
    }); 
}); 

यह मोज़िला, क्रोम और अन्य ब्राउज़र में काम करता है लेकिन आईई में नहीं। (किसी भी संस्करण में नहीं)।

+4

अगर हम JSON परिणाम देख सकते हैं ... – gdoron

+2

क्या jquery संस्करण और डोमेन पर यह लिंक आपकी स्क्रिप्ट चालू है? –

+3

जेएस कंसोल में त्रुटियां? ... – binarious

उत्तर

14

$.getJSONcache results in IE की प्रवृत्ति है। इसके बजाय $.ajax का उपयोग करें।

संबंधित कॉल अपने मामले में कुछ इस तरह होना चाहिए:

// Not really sure if you've forgot to var 
var imagesJSON = []; 

$.ajax({ 
    url: "www.example.com/data.php?id=113&out=json", 
    cache: false, 
    dataType: "json", 
    success: function(data) { 
    $.each(data.issue.page, function(i,item) { 
     imagesJSON[i] = item["@attributes"]; 
    }); 

    alert(imagesJSON.length); 
    }, 
    error: function (request, status, error) { alert(status + ", " + error); } 
}); 

सुनिश्चित करें कि आप cache: false किया हुआ है।


अद्यतन:

यह अनुरोध यूआरएल है कि ओपी वास्तव में उपयोग करता है के साथ होस्ट पर एक कॉन्फ़िगरेशन समस्या प्रतीत होता है। आईई वेब ब्राउजर के साथ सीधे यूआरएल पर जाकर मेजबान से निकलते हैं। होस्ट के वेबमास्टर को ईमेल की तरह, आप मेजबान को इस मुद्दे की रिपोर्ट करने से ज्यादा कुछ नहीं कर सकते हैं।

+0

मैं इसका उपयोग करता हूं। "Http://www.xyz.com/data.php?id=113&out=json", \t \t कैश: झूठे, \t \t डेटाप्रकार: कोई समस्या '$ .ajax ({ \t \t यूआरएल है" json ", \t \t सफलता: समारोह (डेटा) { \t \t \t $ .प्रत्येक (data.issue.page, समारोह (i, आइटम) { imagesJSON [i] = आइटम [" @ जिम्मेदार बताते हैं "]; \t \t \t अलर्ट (छवियों जेसन।लंबाई); }); \t \t त्रुटि: फ़ंक्शन (अनुरोध, स्थिति, त्रुटि) { अलर्ट (स्थिति + "," त्रुटि); \t \t } ' –

+0

@ketan: क्या आप वाकई इसे सही टाइप कर रहे हैं? कुंजी त्रुटि के लिए मान (जो आपके पास वह फ़ंक्शन है) '$ .ajax' फ़ंक्शन के लिए पैरामीटर सरणी के अंदर होना चाहिए। – Spoike

+4

उपर्युक्त चीजें मुझे आईई में त्रुटि देती हैं जैसे ** त्रुटि, कोई परिवहन ** –

2

मैं एक पृष्ठ पर एक ही त्रुटि थी, और मैं इन पंक्तियों कहा:

<!--[if lte IE 9]> 
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.0/jquery.xdomainrequest.min.js'></script> 
<![endif]--> 

और यह अंत में मेरे लिए काम करता है, IE9

के लिए) कोई और अधिक त्रुटि

इस पोस्ट में मेरी मदद jQuery Call to WebService returns "No Transport" error