2013-03-08 10 views
10

मेरा कामकाजी कोडइग्निटर साइट MediaTemple पर होस्ट करते समय 500 आंतरिक सर्वर त्रुटि दे रही है। यह एक jQuery अजाक्स कॉल के दौरान हो रहा है।डीजेगिंग jQuery AJAX 500 आंतरिक सर्वर त्रुटि

मुझे नहीं पता कि क्या गलत हो सकता है। नियंत्रक या मॉडल से त्रुटि है? मेरे अजाक्स कॉल:

$.ajax({ 
    url: "<?php echo site_url('invites/save_email') ?>", 
    type: 'POST', 
    data: form_data, 
    success: function(msg) { 
    window.location.href = "<?php echo site_url('invites/moreinvites')?>" 
     return true; 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     alert(xhr.status); 
     alert(thrownError); 
     alert(xhr.responseText); 
    } 
}); 

xhr.responseText मुझे <p>The action you have requested is not allowed.</p> लौट गए हैं। लेकिन इसका क्या मतलब है?

+0

मुझे समझ में नहीं आता कि आपके पास सफलता में संदेश क्यों है: फ़ंक्शन (msg) 'यदि आप इस फ़ंक्शन में इसका उपयोग भी नहीं करते हैं? जांचें कि कंट्रोलर से पोस्ट/प्राप्त किए गए चर अच्छे प्रकार के हैं। –

+0

500 एक सर्वर त्रुटि का मतलब है, समस्या आपके jQuery कोड के साथ नहीं है, समस्या सर्वर के साथ है। –

+0

@ बेंजामिन ग्रेनबेम ठीक है मैं समझता हूं कि समस्या सर्वर कोड के साथ है। लेकिन मैं इसे कैसे डिबग करने जा रहा हूं? –

उत्तर

39

आप alert(xhr.responseText); या console.log(xhr.responseText); उपयोग करके देख सकते अपने त्रुटि कॉलबैक में (जो बाद में आपके ब्राउज़र कंसोल जैसे फ़ायरबग में दिखाई देगा), ऐसा करने से आप अपवाद (यदि हो तो) के साथ जुड़े संदेश मिल सकता है।

error: function (xhr, ajaxOptions, thrownError) { 
      alert(xhr.status); 
      alert(xhr.responseText); 
      alert(thrownError); 
     } 

या

error: function (xhr, ajaxOptions, thrownError) { 
      console.log(xhr.status); 
      console.log(xhr.responseText); 
      console.log(thrownError); 
     } 
+1

अच्छा जवाब प्रत्यक्ष नहीं है लेकिन मुझे समाधान की ओर ले गया है। धन्यवाद – User

+0

उन लोगों के लिए जो सीधे जवाब के साथ काम करते थे। फ़ाइल रखने पर फ़ोल्डर सुरक्षा को लिखने/संशोधित करने के लिए IIS_IUSRS पहुंच दें। प्रतिक्रिया पाठ ने इसमें त्रुटि को इंगित करने में मदद की। –

0

कृपया मेरी प्रतिक्रिया here देखते हैं। कोडइग्निटर और jQuery के साथ AJAX डिबगिंग करने के तरीके पर यह एक पूर्ण स्पष्टीकरण है।

-1

POST अनुरोध प्राप्त करने के लिए आपको webconfig फ़ाइल को कॉन्फ़िगर करने की आवश्यकता है।

<system.web> 

    <webServices> 
     <protocols> 
     <add name="HttpPost" /> 
     </protocols> 
    </webServices> 
</system.web> 
संबंधित मुद्दे