jQuery अजाक्स 404 त्रुटि लौट रहा है, लेकिन सही प्रतिक्रिया




ajax wordpress (4)

मैं jQuery AJAX के माध्यम से एक PHP स्क्रिप्ट में कुछ डेटा पोस्ट कर रहा हूं, और सब ठीक से निष्पादित होता है, लेकिन यह 404 त्रुटि देता है। मेरे फायरबग कंसोल में PHP स्क्रिप्ट से प्रतिक्रिया सही है। मुझे समझ में नहीं आता कि स्क्रिप्ट कैसे प्रतिक्रिया दे सकती है, और यह अभी भी 404 त्रुटि फेंक रही है। JQuery "त्रुटि" कॉलबैक विधि ट्रिगर्स, और "सफलता" विधि नहीं है।

PHP स्क्रिप्ट द्वारा किए गए सभी बयान सही तरीके से काम करते हैं, क्योंकि मैं डेटाबेस को अपडेट किया जा सकता हूं, आदि।

मैं Dreamhost द्वारा होस्ट की गई वर्डप्रेस 3.x वेबसाइट पर jQuery 1.4.2 का उपयोग कर रहा हूं।

-----------और जानकारी-----------

ठीक है, मुझे पता चला है कि जब मैं अजाक्स स्क्रिप्ट में वर्डप्रेस की wp-blog-header.php फ़ाइल शामिल करता हूं, तो मुझे त्रुटि मिलती है। साथ ही, एक बार एक बार इन स्क्रिप्ट काम करते हैं, और मुझे 9 0% यकीन है कि उन्होंने WP 3.0 अपडेट के बाद काम करना बंद कर दिया है। मैं फायरबग से प्रतिक्रिया हेडर में पेस्ट करूंगा।

PHP से यह हेडर प्रतिक्रिया जिसमें wp-blog-header.php शामिल है और फ़ायरबग में 404 त्रुटि देता है ...

Date                Tue, 10 Aug 2010 01:44:44 GMT
Server            Apache
X-Powered-By        PHP/5.2.6
X-Pingback        http://www.learnwake.com/xmlrpc.php
Expires          Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control       no-cache, must-revalidate, max-age=0
Pragma            no-cache
Last-Modified       Tue, 10 Aug 2010 01:44:44 GMT
Vary                Accept-Encoding
Content-Encoding    gzip
Content-Length    36
Keep-Alive        timeout=2, max=98
Connection        Keep-Alive
Content-Type        text/html; charset=UTF-8

PHP से यह हेडर प्रतिक्रिया जिसमें wp-blog-header.php शामिल नहीं है और फायरबग में 200 ओके देता है ...

Date                Tue, 10 Aug 2010 01:44:58 GMT
Server            Apache
X-Powered-By        PHP/5.2.6
Vary                Accept-Encoding
Content-Encoding    gzip
Content-Length    36
Keep-Alive        timeout=2, max=100
Connection        Keep-Alive
Content-Type        text/html

किसी और ने इसे उत्तर के रूप में पोस्ट नहीं किया है, इसलिए यह ध्यान देने योग्य है। आपको wp-blog-header.php बजाय wp-load.php शामिल होना चाहिए।

यदि आप wp-blog-header.php खोलते हैं तो आप देखेंगे क्यों:

if ( !isset($wp_did_header) ) {

    $wp_did_header = true;

    require_once( dirname(__FILE__) . '/wp-load.php' );

    wp();

    require_once( ABSPATH . WPINC . '/template-loader.php' );

}

यदि आप केवल AJAX ऑपरेशन के लिए template-loader.php कर रहे हैं, तो आपको template-loader.php को शामिल करने की आवश्यकता नहीं है। यह अनावश्यक ओवरहेड बनाएगा, और फिर निश्चित रूप से 404 त्रुटि प्रदान करेगा।

वर्डप्रेस के वर्तमान और भविष्य के संस्करणों के लिए यह 'वर्कअराउंड' आवश्यक है। मुझे लगता है कि पिछले 3.0 में कुछ भी शामिल है, जैसा कि बताया गया है wp-load.php शामिल होना चाहिए।


कुल मिलाकर वहां एक टन स्थान नहीं हैं जहां वर्डप्रेस 404 लौटाएगा। मैं उन स्थानों के लिए स्रोत पेड़ को पकड़ने और कुछ डीबग कोड रखने का सुझाव देता हूं कि यह क्यों हो रहा है।


टिम के जवाब के आधार पर, मैंने अपनी प्लगइन में "wp" से "init" तक पकड़ा हुआ हुक बदल दिया और उसने मुझे 404 देना बंद कर दिया।


मुझे भी यही समस्या थी।

जोड़।

परिवर्तन:

require_once('wp-blog-header.php');

सेवा मेरे:

require_once('conn.php');
require('wp-config.php');
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();

यदि आप WP के बाहर एक पृष्ठ चाहते हैं तो यह HTTP शीर्षलेख त्रुटियों को भी ठीक करेगा।







wordpress