2010-11-24 11 views
7

मैं jQuery का $। पोस्ट कॉल का उपयोग कर रहा हूं और यह इसके चारों ओर उद्धरण के साथ एक स्ट्रिंग लौट रहा है। उद्धरण json_encode लाइन द्वारा जोड़ा जा रहा है। मैं उद्धरण जोड़ने से इसे कैसे रोकूं? क्या मुझे अपने $। पोस्ट कॉल में कुछ याद आ रही है?

$.post("getSale.php", function(data) { 
    console.log('data = '+data); // is showing the data with double quotes 
}, 'json'); 

उत्तर

12

json_encode() एक स्ट्रिंग रिटर्न json_encode() प्रलेखन से:।

Returns a string containing the JSON representation of value. 

आप data पर JSON.parse() फोन है, जो JSON स्ट्रिंग पार्स जाएगा और यह एक वस्तु में बदल जाने की जरूरत है:

$.post("getSale.php", function(data) { 
    data = JSON.parse(data); 
    console.log('data = '+data); // is showing the data with double quotes 
}, 'json'); 

हालांकि, बाद से आप अपने console.log() कॉल में data को स्ट्रिंग data = श्रृंखलाबद्ध कर रहे हैं, data.toString(), जो आपके वस्तु की स्ट्रिंग प्रतिनिधित्व है, जो [object Object] हो जाएगा वापस आ जाएगी क्या लॉग इन किया जाएगा है। तो, आप एक अलग console.log() कॉल में data लॉग करना चाहते हैं। इस तरह कुछ:

$.post("getSale.php", function(data) { 
    data = JSON.parse(data); 
    console.log('data = '); // is showing the data with double quotes 
    console.log(data); 
}, 'json'); 
+1

jQuery के किसी भी हालिया संस्करण में, यदि आप सही MIME प्रकार का उपयोग करते हैं तो यह स्वचालित रूप से JSON को पार्स कर देगा। –

+0

आप दा आदमी !!!!! – Catfish

+0

@ मैथ्यू +1, मैं इसे समझता हूं, क्योंकि यह अभी भी एक स्ट्रिंग वापस आ रहा है, मुझे लगता है कि एमआईएमई प्रकार गलत था। – Alex

1

आप जो डेटा प्राप्त कर रहे हैं उसके साथ आप वास्तव में क्या करने की कोशिश कर रहे हैं? यदि आप बस JSON संदेश की एक विशेष कुंजी प्राप्त करने की कोशिश कर रहे हैं, यानी "{"name":"sam"}"" में "नाम" (मान लें कि आपके पास JSON ऑब्जेक्ट है और JSON Array नहीं है) तो आप डबल के बावजूद data.name का उपयोग करने में सक्षम होंगे । उद्धरण

+0

मैं इसे वापस पाने के बाद एक HTML टैग के अंदर डेटा डालने की कोशिश कर रहा हूं। – Catfish

+0

मैं अपनी php फ़ाइल में मान वापस करने के लिए json_encode (array()) का उपयोग कर रहा हूं, क्या यह गलत है? – Catfish

+1

@ कैटफ़िश, आपको 'हेडर (' सामग्री-प्रकार: एप्लिकेशन/जेसन ') का भी उपयोग करना चाहिए; यह निर्दिष्ट करने के लिए कि आप JSON लौट रहे हैं। –

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