के साथ AJAX क्रियाओं को संभालने का उचित तरीका मेरे पास एक नियंत्रक क्रिया है जो डेटाबेस में कुछ काम करता है और फिर समाप्त होने पर बाहर निकलता है। यह क्रिया jQuery के AJAX फ़ंक्शन के माध्यम से डेटा टाइप के साथ 'json' पर सेट की जा रही है।एएसपी.नेट एमवीसी - कोई रिटर्न ऑब्जेक्ट
यदि मैं शून्य के लिए कार्रवाई का रिटर्न प्रकार सेट करता हूं, तो सब कुछ ठीक काम करेगा, सिवाय इसके कि फ़ायरफ़ॉक्स कंसोल में एक त्रुटि दिखाएगा जो कहता है: "कोई तत्व नहीं मिला"।
यह समझ में आता है कि अगर यह एक्सएमएल वापस आने की उम्मीद कर रहा था तो फ़ायरफ़ॉक्स इस त्रुटि को फेंक देगा। हालांकि, जब भी मैं AJAX कॉल की डेटा टाइप प्रकार को "टेक्स्ट" में बदलता हूं, तब भी मुझे त्रुटि मिलती है। रिटर्न टाइप शून्य के साथ त्रुटि से छुटकारा पाने के लिए, मुझे प्रतिक्रिया का कंटेंट टाइप "टेक्स्ट/एचटीएमएल" पर सेट करना होगा। या मैं रिटर्न टाइप को जेसनआरसल्ट पर सेट कर सकता हूं और एक नया [खाली] जेसन रीसेट ऑब्जेक्ट वापस कर सकता हूं।
मुझे यकीन है कि मैं इस त्रुटि को दूर करने के कई तरीके हैं, लेकिन मैं एजेक्स के माध्यम से किसी भी वापसी मूल्य के बिना कार्रवाई को संभालने का उचित तरीका जानना चाहता था।
यदि यह महत्वपूर्ण है, तो मैं एसिंक नियंत्रक क्रिया पैटर्न का भी उपयोग कर रहा हूं।
public void DoSomethingAsync(SomeJsonObjectForModelBinding model)
{
// do some database things
}
public void DoSomethingCompleted()
{
// nothing to do...
// what should my return type be?
// do I need to set the content type here?
}
+1 हमेशा सफलता या त्रुटि के लिए +1, जेएस काम करता है के रूप में वास्तव में आवश्यक रूप से आवश्यक है। –
मुझे नहीं लगता कि यह आपको क्या खरीदता है। वैसे भी सर्वर द्वारा एक http स्थिति हमेशा वापस कर दी जाएगी। आप क्लाइंट को जेसनिंग सीरियलाइज्ड डेटा को जेस्पिंग करने की वकालत कर रहे हैं, भले ही आपको पता चलेगा कि इसे कभी नहीं पढ़ा जाएगा *। क्या बात है? – fearofawhackplanet
ठीक है, सिस्टम-स्तरीय फीडबैक है, और फिर एप्लिकेशन-स्तरीय फीडबैक है। आपके पास एक सफल AJAX निष्पादन हो सकता है, लेकिन आपके एप्लिकेशन के भीतर सर्वर-साइड पर कुछ भी गलत होने पर कोई जानकारी नहीं होगी। – Kon