का उपयोग करके सिंगल कोट्स के साथ सबमिशन मैंने चारों ओर देखा है, और मैं इसके लिए एक शानदार समाधान खोजने की कोशिश कर रहा हूं, और मुझे अभी तक कोई नहीं मिला है। मेरे पास .NET में एक एएसएमएक्स वेब सेवा है जिसे मैं कॉल करने की कोशिश कर रहा हूं जिसके लिए पैरामीटर की आवश्यकता है।jQuery, अजाक्स और JSON
मैं jQuery का उपयोग कर रहा ग्राहक के पक्ष सेवा को कॉल करने और मेरे jQuery कोड इस तरह दिखता है:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "/Reviews/HotelReview.asmx/SubmitReview",
data: "{'name': '" + name + "', " +
"'info': '" info + "'}",
processData: true,
beforeSend: function() { startSubmit(); },
complete: function() { submitComplete(); },
error: function(xhr) { submitError(xhr); },
success: function(msg) { submitSuccess(msg.d); }
});
यह काम करता है बहुत अच्छी तरह से, को छोड़कर जब या तो नाम या जानकारी शामिल ' चरित्र, एक एकल उद्धरण। काफी सरल, क्योंकि मेरा JSON फ़ील्ड के मान के अंत को परिभाषित करता है और एक एकल उद्धरण है। जब इनमें से किसी भी फ़ील्ड में एक एकल उद्धरण होता है, तो मुझे "आंतरिक सर्वर त्रुटि" मिलती है, लेकिन Fiddler का उपयोग करके आगे निरीक्षण ने मुझे परिणाम दिखाए (मैं उन्हें पोस्ट करने के लिए परेशान नहीं करूंगा) एकल बोली समस्या का संकेत देता हूं।
मैंने क्लाइंट पक्ष पर सिंगल कोट्स को हटाने के लिए अस्थायी रूप से कुछ जगह डाली है और उन्हें सर्वर की तरफ वापस रख दिया है, लेकिन यह सुरुचिपूर्ण से बहुत दूर है। क्या इन सिंगल कोट्स से बचने के लिए एक और शानदार तरीका है ताकि मेरा कोड काम कर सके?
महान प्रतिक्रिया के लिए धन्यवाद। मैंने स्ट्रिंग बनाने के बजाय json.js और JSON.encode (myobject) का उपयोग किया। – Odd
ब्राउज़र (जो कि वर्तमान संस्करण संस्करण) का समर्थन करते हैं, आपको शायद मूल JSON ऑब्जेक्ट (http://blogs.msdn.com/ यानी/संग्रह/2008/09/10/देशी-json-in-ie8.aspx) यदि json.js आपके लिए स्वचालित रूप से ऐसा नहीं करता है। – EricLaw