मैं jQuery के बिना JSON दस्तावेज़ का उपभोग कैसे कर सकता हूं? विधि getJSON()
पर कॉल करने के बजाय, मैं अपना खुद का डिज़ाइन करना चाहता हूं। मैं उसको कैसे करू?jQuery के बिना JSON डेटा उपभोग (sans getJSON)
9
A
उत्तर
3
आपको अपना स्वयं का JSON/AJAX फ़ंक्शन रोल करना होगा। कुछ उदाहरण here हैं। मुझे यकीन नहीं है कि वे कितने अच्छे हैं।
15
यदि यह वही डोमेन अनुरोध है तो विंडो.XMLHttpRequest का उपयोग करें। यदि यह रिमोट है, तो एक स्क्रिप्ट तत्व इंजेक्षन, तो आप देख सकते हैं कि jQuery यह करता है:
// If we're requesting a remote document
// and trying to load JSON or Script with a GET
if (s.dataType === "script" && type === "GET" && remote) {
var head = document.getElementsByTagName("head")[0] || document.documentElement;
var script = document.createElement("script");
script.src = s.url;
if (s.scriptCharset) {
script.charset = s.scriptCharset;
}
// Handle Script loading
if (!jsonp) {
var done = false;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function() {
if (!done && (!this.readyState ||
this.readyState === "loaded" || this.readyState === "complete")) {
done = true;
success();
complete();
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
if (head && script.parentNode) {
head.removeChild(script);
}
}
};
}
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
// This arises when a base node is used (#2709 and #4378).
head.insertBefore(script, head.firstChild);
// We handle everything using the script element injection
return undefined;
}
एक JSON Parser का प्रयोग करें। आप eval
का भी उपयोग कर सकते हैं लेकिन यह JSON पार्सर के पक्ष में फंस गया है।
parseJSON: function(data) {
if (typeof data !== "string" || !data) {
return null;
}
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim(data);
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if (/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
.replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
// Try to use the native JSON parser first
return window.JSON && window.JSON.parse ?
window.JSON.parse(data) :
(new Function("return " + data))();
} else {
jQuery.error("Invalid JSON: " + data);
}
},
संबंधित मुद्दे
- 1. jQuery - .ajax json वी.एस. .getjson
- 2. jQuery में .getJSON को JSON डेटा पास कर रहा है?
- 3. JQuery के getJSON फ़ंक्शन
- 4. getJSON
- 5. jQuery getJSON नियंत्रक को
- 6. टाइमआउट के साथ jQuery getJSON
- 7. getJSON
- 8. $ .getJSON
- 9. Jquery getJSON क्रॉस डोमेन समस्याएं
- 10. jQuery - JSON डेटा पार्सिंग - परिवर्तनीय नाम
- 11. बाहरी PHP पृष्ठ पर Jquery getJSON
- 12. $ .getJSON IE
- 13. jQuery getJSON() सफलता कॉलबैक फ़ंक्शन
- 14. jQuery के साथ JSON डेटा सुरक्षित है?
- 15. jQuery के साथ JSON डेटा भेजें
- 16. jQuery getJSON - कॉलर फ़ंक्शन पर वापसी मूल्य
- 17. आईई 8 getJSON कैश डेटा
- 18. .getJSON()
- 19. jquery json
- 20. jQuery पार्स JSON यूआरएल
- 21. jQuery के साथ JSON फ़ाइल पढ़ें
- 22. JSON डेटा
- 23. अगर JSON वापसी jQuery
- 24. जर्सी सेवा में JSON ऑब्जेक्ट का उपभोग
- 25. $ .getJson IE
- 26. jQuery AJAX JSON डेटा टाइप रूपांतरण
- 27. JSON Jquery स्ट्रैट्स 2 एक्शन
- 28. jQuery स्वत: पूर्ण दूरस्थ JSON डेटा स्रोत डेटा
- 29. दोहराएँ jQuery JSON अनुरोध
- 30. एक jQuery को छोड़कर getJSON XMLHttpRequest
हाय विवेक:
यहाँ jQuery के आंतरिक parseJSON विधि है। क्या आप अपने प्रश्न में कुछ और विवरण जोड़ सकते हैं? आप किस भाषा/ढांचे में काम कर रहे हैं? –
+1 स्पष्ट लगता है कि ओपी जानना चाहता है कि jQuery का उपयोग किए बिना JSON डेटा के लिए AJAX अनुरोध कैसे करें। पता लगाना मुश्किल नहीं है। – user113716
@patrick: ठीक है, यह केवल नौ शब्दों में टिप्पणी चर्चा उत्पन्न करने के लिए पर्याप्त लोगों को भ्रमित कर रहा है, इसलिए मैं कहूंगा कि यह स्पष्ट था कि यह एक खराब सवाल था, इस पर ध्यान दिए बिना कि कोई भी इसे समझने में कितना सक्षम है। – annakata