कोडनिर्देशक - jQuery पोस्ट डेटा भेजने के बाद कोई परिणाम नहीं

मैं jQuery के AJAX और कोडनिर्देशक PHP ढांचे का उपयोग करके एक साइनअप फॉर्म पर काम कर रहा हूं, लेकिन कोडिनेटर इससे कोई फर्क नहीं पड़ता, अगर आपको अजीब echo form_open (); या अन्य अजीब चीजें दिखाई देती हैं, तो नहीं चिंता करें, वे सभी कोडनिर्देशक हैं।

ठीक है, कोड के साथ मेरी समस्या यहाँ है। मैंने नीचे jQuery का उपयोग करके सरल पोस्ट की कोशिश की है (PHP कोड में बाकी सब कुछ छोड़ा गया है और एक सरल गूंज 'हैलो, दुनिया!' जोड़ा गया है; फ़ंक्शन, और यह मुझे काम करता है/मुझे एक हैलो, दुनिया!):

 $.post( 'ajax_signup_username' ,function(result){

                $(span_error).html(result);

            } );

लेकिन जब मैंने इसमें एक पोस्ट डेटा पास किया, तो यह काम नहीं करता है (किसी भी परिणाम को आउटपुट नहीं करता है, ध्यान दें कि मैं पूर्ण PHP कोड लिखित नीचे-नीचे ):

$.post( 'ajax_signup_username', {php_username_error:username_value} ,function(result){

                $(span_error).html(result);

            } );

मैंने एसओ खोजने की कोशिश की है, लेकिन प्रदान किए गए समाधानों ने इसे हल नहीं किया है। कोई विचार क्या गलत है?

यहां पूर्ण कोड दिए गए हैं:

एचटीएमएल कोड निम्नलिखित है:

<body>

<?php $attr = array( 'onsubmit' => 'return final_val()' ); echo form_open('formValidation/signUp',$attr); ?>



Username: <input type="text" onBlur="username_val()" value="<?php echo set_value('username')?>" name="username" maxlength="50" /><?php echo form_error('username'); ?>


Email: <input type="text" onBlur="email_val()" value="<?php echo set_value('email')?>" name="email" maxlength="50" /><?php echo form_error('email'); ?>


Password: <input type="password" onBlur="pass_val()" value="<?php echo set_value('pass')?>" name="pass" maxlength="50" autocomplete="off"/><?php echo form_error('pass'); ?>


Password Confirm: <input type="password" onBlur="pass_val()" value="<?php echo set_value('passconf')?>" name="passconf" maxlength="50" autocomplete="off" /><?php echo form_error('passconf'); ?>


<input type="submit" value="SIGN UP!" name="signup"/>

</form> </body>

PHP कोड निम्नलिखित है:

function ajax_signup_username(){

    $username = $_POST['php_username_error'];

    $uniqueUn = $this->db->prepare("SELECT * FROM iowfiwefwmember WHERE username=:username");

    $uniqueUn->bindParam(':username', $username);

    $uniqueUn->execute();

    $count1 = $uniqueUn->fetch();

    if( $count1 == FALSE ){

        echo 'USERNAME AVAILABLE!';

    }else{

        echo 'USERNAME IS ALREADY USED!';

    }

}

जावास्क्रिप्ट कोड निम्नलिखित है:

function username_val(){

        $.ajaxSetup({ cache : false });

            username_value = $("input[name='username']").val();

            span_error = "span[name='username_error']";

            //$(span_error).load('ajax_signup_username', {php_username_error:username_value}); <-- also doesn't work [ $.ajaxSetup() is set to POST ]

            $.post( 'ajax_signup_username', {php_username_error:username_value} ,function(result){

                $(span_error).html(result);

            } );

    }
0
जोड़ा संपादित
विचारों: 1
क्या आपको जावास्क्रिप्ट त्रुटि मिलती है? क्या होता है जब आप यूआरएल को सीधे पोस्ट अनुरोध करते हैं?
जोड़ा लेखक Explosion Pills, स्रोत
ब्राउज़र में नेविगेटिंग @PHPForLife पर्याप्त नहीं है .. आपको ब्राउज़र या किसी अन्य उपयोगकर्ता एजेंट का उपयोग करके एक ही पोस्ट अनुरोध करना होगा।
जोड़ा लेखक Explosion Pills, स्रोत
@PHPForLife एक रूप है?
जोड़ा लेखक Explosion Pills, स्रोत
@PHPForLife अगर यह AJAX में किया जा सकता है तो इसे किसी अन्य तरीके से किया जा सकता है। आपको इसे समझना होगा, या आप कभी भी AJAX अनुरोधों का परीक्षण करने में सक्षम नहीं होंगे।
जोड़ा लेखक Explosion Pills, स्रोत
कृपया पीडीओ कोड को परेशान न करें, बिंदु यह है कि पैरामीटर में एक पोस्ट डेटा भेजने के बाद, यह काम नहीं करता है।
जोड़ा लेखक PHP For Life, स्रोत
@ExplosionPills फ़ायरफ़ॉक्स में वेब डेवलपर टूलबार ने मुझे एक पोस्ट सर्वर त्रुटि दी, लेकिन मैंने ब्राउज़र में कोड को नेविगेट करने का प्रयास किया और यह मौजूद है।
जोड़ा लेखक PHP For Life, स्रोत
@ vansimke हाँ, यह है। जब आप ब्राउजर में localhost/foo/bar/ajax_signup_username में नेविगेट करते हैं, तो यह मौजूद है।
जोड़ा लेखक PHP For Life, स्रोत
@ExplosionPills मैं यह कैसे करूँ?
जोड़ा लेखक PHP For Life, स्रोत
@ExplosionPills form_open() स्वचालित रूप से फ़ॉर्म में एक पोस्ट विधि उत्पन्न करता है
जोड़ा लेखक PHP For Life, स्रोत
अभी भी कोई भाग्य नहीं है
जोड़ा लेखक PHP For Life, स्रोत
ExplosionPills और vansimke - इस पर अपना समय बर्बाद करने के लिए खेद है, यह वास्तव में एक कोडनिर्देशक मुद्दा है, वैसे भी धन्यवाद! चीयर्स! : डी
जोड़ा लेखक PHP For Life, स्रोत
आप फ़ंक्शन में url 'ajax_signup_username' को कैसे रूट कर रहे हैं? क्या यह कुछ कोडइग्निटर जादू है?
जोड़ा लेखक vansimke, स्रोत
@PHPForLife अगर फ़ायरफ़ॉक्स पकड़ रहा है, तो यूआरएल में स्पष्ट रूप से कुछ गलत है। $ Urp कॉल में पूर्ण यूआरएल (लोकलहोस्ट/फू/बार/...) हार्डकोडिंग करने का प्रयास करें और देखें कि क्या आप इसे चाहते हैं।
जोड़ा लेखक vansimke, स्रोत

1 उत्तर

मेरे लैपटॉप के सामने गूंगा चेहरे करने के लंबे घंटों के बाद, मुझे पता चला कि यह IS एक कोडनिर्देशक मुद्दा है, मैंने सीएसआरएफ सुरक्षा चालू की जिससे समस्या उत्पन्न हुई। सीएसआरएफ सुविधा बंद करने के बाद, यह ठीक काम करता है, सुनिश्चित करें कि एक ही गलती दोहराने के लिए नहीं, युवाओं! चीयर्स! : डी

0
जोड़ा
हालांकि मैं नए विकास के लिए कोडइग्निटर की सिफारिश नहीं करता हूं। चूंकि एलीस्लाब ने अब इसका समर्थन नहीं करने का फैसला किया है, इसलिए कुछ बग फिक्स को संस्करण 2.1.3 से 2.1.4 तक पुन: जारी किया गया है। लेकिन हाँ, मेरे लिए सीएसआरएफ सुविधाओं में भी समस्याएं आईं।
जोड़ा लेखक Mauricio A. Cinelli, स्रोत