2015-01-20 19 views
10

के लिए एक त्रुटि हैंडलर सेट करें, जब मैं कुछ डेटा गलत करता हूं (यानी सर्वर प्रतिक्रिया नहीं देता है) तो मैं अपने डेटाटेबल में नए डेटा को लोड करने के लिए AJAX कॉल पर एक कस्टम त्रुटि हैंडलर रखने का प्रयास कर रहा हूं।jquery डेटाटेबल्स AJAX कॉल

$table.DataTable().ajax.url(ajaxURL).load(); 

डिफ़ॉल्ट रूप से यह एक चेतावनी से पता चलता है और मुझे लगता है कि बदलने के निम्नलिखित सेटिंग के साथ एक जावास्क्रिप्ट त्रुटि फेंक कर सकते हैं:

$.fn.dataTable.ext.errMode = 'throw'; 

लेकिन इस के साथ, मैं सिर्फ एक त्रुटि कंसोल और मैं करने के लिए लॉग इन किया है मुझे यकीन नहीं है कि उस फेंकने वाली त्रुटि को कैसे पकड़ें ताकि मैं अभी भी अपना स्वयं का त्रुटि हैंडलर प्रदान न कर सकूं।

दस्तावेज में सूचीबद्ध एक त्रुटि घटना भी है, लेकिन ऐसा लगता है कि यह ट्रिगर नहीं हुआ है, इसलिए निम्नलिखित कभी अलर्ट नहीं करते हैं।

$table.on('error', function() { alert('error');}); 

बाकी सब कुछ मैं अब तक मिल गया है इस तरह के fnServerData, जो मैं से बचने के लिए करना चाहते सेटिंग के रूप में, विरासत कोड के लिए है।

क्या 1.10 एपीआई में AJAX त्रुटि कॉलबैक सेट करने का कोई तरीका है?

+1

के बाद से ajax कॉल अतुल्यकालिक हैं, यह बाईपास अपवाद संचालन कर सकते हैं। त्रुटि को शायद उनके कोड में पकड़ा जाना चाहिए। आप सही हैं, एक त्रुटि हैंडलर की कमी एक अजीब चूक है। यही कारण है कि मैं डेटाटेबल्स के AJAX विधियों का उपयोग नहीं करता हूं। मैं बस jQuery 'AJAX' का उपयोग करता हूं, जिसमें सफलता और त्रुटि हैंडलर होते हैं, और तालिका को स्क्रैच से दोबारा हटाते हैं। – stakolee

उत्तर

30

डेटाटाबल्स v1.10.5 (10 फरवरी को जारी) में नई त्रुटि इवेंट हैंडलिंग जोड़ा गया है। यहाँ

$.fn.dataTable.ext.errMode = function (settings, helpPage, message) { 
    console.log(message); 
}; 

डॉक्स देखें:
https://datatables.net/reference/event/error
https://cdn.datatables.net/1.10.5/

+0

धन्यवाद। मैंने 1.10.6 पर अपडेट किया और अब मैं एक कस्टम अलर्ट संदेश दिखाने में सक्षम हूं। –

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