WordPress अजाक्स प्रतिक्रिया में 0 (शून्य) क्यों जोड़ता है?


16

जब तक मैं exit()या तो अजाक्स प्रसंस्करण कार्य को समाप्त नहीं करता है die(), तब तक अजाक्स समारोह वांछित और सही आउटपुट प्राप्त करता है लेकिन इसके बाद 0

किसी भी विचार क्यों हो रहा है?

क्या इसका मतलब ऐसा ही है या इसे ठीक किया जा सकता है?

add_action('wp_ajax_get_homepage', 'get_homepage');
add_action('wp_ajax_nopriv_get_homepage', 'get_homepage');

function get_homepage(){
    echo "get_homepage ->";
    exit();
}

मैं प्लगइन्स में AJAX में पढ़ा है , लेकिन यह आवश्यक क्यों है?


क्या यह (0 का जोड़) भी होता है, भले ही आप वर्डप्रेस से लॉग आउट हों?
मुर्दाघर

हां, भले ही मैं वर्डप्रेस में लॉग इन नहीं हूं।
राडेक

जवाबों:


31

से डिफ़ॉल्ट प्रतिक्रिया admin-ajax.phpहै,

die( '0' );

... अपनी खुद की जोड़कर wp_die()या exit()या die()अपने वांछित सामग्री रोकता से डिफ़ॉल्ट प्रतिक्रिया लौटने के बाद admin-ajax.phpअच्छी तरह से रूप में वापस आ जा रहा है।

यह भी आम तौर पर मतलब है कि आपके ajax कॉल सफल रहा है।

अंततः, आपके प्रश्न का उत्तर देने के लिए, इस तरह से काम करना है। अपनी सामग्री वापस करने के बाद बाहर निकलने से आप जो कर रहे हैं, वह सही काम है।


विवरण के लिए आपका धन्यवाद। तो क्या मैं डाई () का उपयोग करता हूं या मैं 0 के लिए एजाक्स के अंदर जांच करता हूं ताकि यह पता चल सके कि सब कुछ ठीक था?
Radek

2
उपयोग die()या exit()उसके बाद आप अपनी सामग्री / डेटा को प्रतिध्वनित करते हैं। success/completeअपने अजाक्स विधि के कॉलबैक फ़ंक्शन में, आप फिर डेटा को हेरफेर कर सकते हैं और इसका उपयोग डोम को आबाद करने के लिए कर सकते हैं। आप डेटा अखंडता को मान्य करने के लिए कोई अतिरिक्त त्रुटि जाँच भी कर सकते हैं। आप आउटपुट से पहले अपने PHP कॉलबैक फ़ंक्शन में त्रुटि जाँच भी कर सकते हैं। अनिवार्य रूप से आपकी प्रतिक्रिया लौटने के बाद बाहर निकलना सुनिश्चित करेगा कि आपको 0इसके साथ भी नहीं मिलेगा । वैसे सिर्फ इसलिए कि आपको 0प्रतिक्रिया मिलती है, इसका मतलब यह नहीं है कि आपका अजाक्स कॉल 100% सफल रहा। हालाँकि यह बताना आसान है कि आप अपने आउटपुट का निरीक्षण कब करते हैं।
एडम

1
आपको wp_die()2.0.4 में जोड़ा जाना चाहिए
थ्रिलकोड

@thrillcode जब तक आपको wp_dieअन्य प्लगइन्स या थीम कोड की प्रक्रिया को उजागर करने की आवश्यकता नहीं है जो उक्त प्रक्रिया पर हुक कर सकते हैं, तब, का उपयोग कर dieया exitठीक है। यदि आप अपने कोड को OSS या अन्यथा जारी करने का इरादा रखते हैं, जहां आपके कोड को दूसरों के साथ अच्छा खेलना है, तो wp_dieअधिक बेहतर होगा, सहमत।
एडम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.