2013-03-08 13 views
10

Il mio sito CodeIgniter funziona dando un errore interno di 500 server mentre lo ospita su MediaTemple. Sta accadendo durante una chiamata jQuery Ajax.Debug di jQuery ajax 500 Errore interno del server

Non ho idea di cosa possa essere andato storto. L'errore è dovuto al controller o al modello? Il mio Ajax chiamata:

$.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 mi è tornato <p>The action you have requested is not allowed.</p>. Ma cosa significa?

+0

Non capisco perché si è visualizzato msg in 'success: function (msg)' se non lo si utilizza nemmeno in questa funzione? Controllare se le variabili inviate/ricevute dal controller sono di buon tipo. –

+0

500 Significa un errore del server, il problema non è con il codice jQuery, il problema è con il server. –

+0

@BenjaminGruenbaum Ok capisco che il problema è con il codice del server. Ma come faccio a debuggarlo? –

risposta

39

È possibile provare a utilizzare alert(xhr.responseText); o console.log(xhr.responseText); (il successivo verrà visualizzato nella console del browser, ad esempio firebug) nella richiamata di errore, in modo da poter ottenere il messaggio associato all'eccezione (se presente).

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

o

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

buona risposta non diretta ma mi ha portato verso la soluzione. Grazie – User

+0

Per gli altri con una risposta diretta che ha funzionato per me. Concedere l'accesso IIS_IUSRS per scrivere/modificare la sicurezza della cartella in cui si posiziona il file. Il responseText ha aiutato a individuare l'errore a questo. –

0

Si prega di vedere la mia risposta here. È una spiegazione completa su come eseguire il debug ajax con CodeIgniter e jQuery.

-1

È necessario configurare il file webconfig per ricevere la richiesta POST.

<system.web> 

    <webServices> 
     <protocols> 
     <add name="HttpPost" /> 
     </protocols> 
    </webServices> 
</system.web> 
Problemi correlati