2013-06-13 10 views
8

मैं जेसन फ़ाइल को अपने अमेज़ॅन एस 3 पर स्टोर करना चाहता हूं और फिर इसे AJAX अनुरोध के साथ पुनर्प्राप्त करना चाहता हूं। दुर्भाग्यवश ऐसा लगता है कि एस 3 सामग्री-प्रकार एप्लिकेशन/जेसन की अनुमति नहीं देता है ....जेसन को अमेज़ॅन एस 3 पर स्टोर करना संभव है?

मुझे अपनी फ़ाइल को टेक्स्ट/सादा के रूप में सहेजना चाहिए और फिर PHP के साथ हेडर जोड़ना चाहिए?

+1

सामग्री-प्रकार शीर्षलेखों का उपयोग करते समय निश्चित रूप से अच्छा है, उन्हें आवश्यक नहीं है। यदि आप जानते हैं कि एक निश्चित फ़ाइल में JSON है, तो आप 'JSON.parse' के साथ प्रतिक्रिया टेक्स्ट को पार्स कर सकते हैं। अंत में, किसी फ़ाइल में या तो टेक्स्ट या बाइनरी डेटा होता है। डेटा को संसाधित करने का तरीका क्लाइंट को क्या करना है। –

+0

दुर्भाग्यवश कुछ परीक्षणों के बाद ऐसा लगता है कि अगर मैं पाठ/सादा के रूप में पुनर्प्राप्त करता हूं तो जेसन अच्छी तरह से स्वरूपित नहीं है इसलिए मैं इसे पार्स नहीं कर सकता ... – Tropicalista

+0

सामग्री प्रकार के साथ कुछ भी करने की ज़रूरत नहीं है। JSON ** ** पाठ है। शायद आपका JSON शुरू करने के लिए अमान्य है? –

उत्तर

5

मुझे समस्या मिली है। मैं जेसन को गलत तरीके से पार्स कर रहा था।

$.ajax({ 
    url:"https://s3.amazonaws.com/myBucket/myfile.json", 
    type:"GET", 
    success:function(data) { 
      console.log(data.property) 
    } 
}) 

इसके बजाय यह काम करता है: मुख्य में

$.ajax({ 
    url:"https://s3.amazonaws.com/myBucket/myfile.json", 
    type:"GET", 
    success:function(data) { 
     var obj = jQuery.parseJSON(data); 
     if(typeof obj =='object'){ 
      console.log(obj.property) 
     } 
    } 
}) 
+0

मैं नहीं कह सकता कि दूसरा क्यों काम करता है – Tropicalista

+2

मुझे लगता है कि सामग्री-प्रकार सही तरीके से सेट होने पर पहला जादूगर काम करता है। दूसरा एक JSON के रूप में स्पष्ट रूप से विश्लेषण कर रहा है (और यदि आप सामग्री प्रकार को ठीक करते हैं तो संभवतः तोड़ देंगे)। – BraveNewCurrency

2

मेटाडाटा बदलें 'मान': 'आवेदन/json' के लिए मूल्य जोड़ी फ़ाइल गुण से, एडब्ल्यूएस S3 कंसोल में।

+0

इस मामले में कुंजी 'सामग्री-प्रकार' है। –

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