2012-07-30 8 views
16

संपादित करें: अब तक सुझाए गए उत्तरों में से कोई भी काम नहीं किया है।

मैं इस कॉल को django के साथ चला रहा हूं। पहली बार यह चलता है, सर्वर "n_usr" लौटाता है (जो उपयोगकर्ता फ़ाइलों को फ़ॉर्म में बदल देता है)। दूसरी बार, यह सिर्फ Illegal invocation त्रुटि फेंकता है।

function log_in() { 

     username = $('#usr_enter').val(); 
     password = $('#pass_enter').val(); 
     if(!n_usr){ 
      $.post('/ajax/login',{password: password, username: username}, function(data) { 
       if(data == "n_usr"){ 
       $('#new_user_entry').show('slow'); 
       n_usr = true; 
       } 
       else { 

       } 

      }) 
    }else { 
     password2 = $('#pass_re_enter'); 
     penname = $('#pen_enter'); 
      $.post('/ajax/login', {password: password, password2: password2, username: username, pen_name: penname, TN: "TN"}, function(data) { 
       if(data == "e_act"){ 

       } else { 

       } 
      }); 
     } 
    } 
+0

'अवैध आमंत्रण' का अर्थ है कि आप गलत संदर्भ में एक फ़ंक्शन को कॉल कर रहे हैं। –

+0

@ रॉकेट संदर्भ से आपका क्या मतलब है? –

+0

'console.log.call (दस्तावेज़, 'test') को कॉल करने का प्रयास करने की तरह। वह 'console' के संदर्भ में' console.log' को कॉल कर रहा है। या 'सेटटाइमआउट (someFunc) '। –

उत्तर

19

अपने else में, तुम हो:

password2 = $('#pass_re_enter'); 
penname = $('#pen_enter'); 

तो फिर तुम है:

{password: password, password2: password2, username: username, pen_name: penname, TN: "TN"} 

आप Illegal invocation हो रही है क्योंकि jQuery $.post के लिए jQuery वस्तु क्रमानुसार करने की कोशिश कर रहा है, और यह नहीं कर सकते । यह शायद एक स्ट्रिंग विधि को कॉल करने का प्रयास कर रहा है, और इसे संदर्भ के रूप में एक jQuery ऑब्जेक्ट पास कर रहा है, इस प्रकार त्रुटि उत्पन्न कर रहा है।

आपको .val() जोड़ने की आवश्यकता है।

password2 = $('#pass_re_enter').val(); 
penname = $('#pen_enter').val(); 
+0

मैं भी सुझाव देने जा रहा था। –

+0

मैं तुमसे प्यार करता हूँ। मुझे एक ही त्रुटि थी और किसी कारण से मैं ".val()" के साथ पैरामीटर जोड़ना भूल गया, मुझे सबसे अजीब त्रुटियां मिल रही थीं। एक घंटे के बाद, मैंने इसे सही बना दिया! मैं हमेशा सबसे छोटी त्रुटियों करता हूं..यह बहुत ध्यान देता है। Tjìhank आप;) – G4bri3l

+0

@ जी 4bri3l: आपका बहुत स्वागत है! :-D –

0

वैसे आप उन्हें बुला रहे हैं नहीं एक ही - पहली बार:

$.post(url_base+'/ajax/login' ... 

और 2

$.post('/ajax/login', {.... 

बदलें 2 एक url_base शामिल करने के लिए।

+0

भूल गए हैं यह मेरे लिए सही दिखता है। +1 – Ohgodwhy

+0

यह 'अवैध आमंत्रण' त्रुटि को कैसे ट्रिगर करेगा? –

+0

url_base एक खाली स्ट्रिंग है जिसे मैंने सोचा था कि मैंने प्रोग्राम से हटा दिया था। इसे दूसरे कॉल में जोड़ना कुछ भी नहीं बदलता है। हालांकि धन्यवाद। –

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