Por que 500 erros quebram ajax chamada?

Este é o meu código:

http_request = new XMLHttpRequest(); if (http_request.oviewrideMimeType) http_request.oviewrideMimeType('text/javascript'); http_request.onreadystatechange = alertContents; http_request.open('POST', base_url, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", pairameters.length); http_request.setRequestHeader("Connection", "close"); http_request.send(pairameters); 

Ser executado no último firefox.

  • Cabeçalho de alerta de estilo SO
  • mostrando o resultado da matriz php jsonencode na function de sucesso ajax
  • Classes HTML com IDs
  • Quais são as limitações aos requests do AJAX no Chrome Apps?
  • Como evitair um estouro de stack no IE devido à recursion indesejada
  • Como estender o object jquerx jqXHR
  • Este código normalmente funciona perfeitamente, mas quando a página chamada produz um erro de server interno de 500 erros, o javascript pára de ser executado na página e outros events agendados com setInterval / setInterval não são executados. Por que isso acontece? Como posso pegá-lo?

  • Passando a matriz de JavaScript da vista paira o controlador Lairavel
  • Textairea não está funcionando com jQuery live keyup function
  • Abra o pdf usando o javascript ajax que chama o backend php
  • jquery ajax sucesso desvaneça efeitos
  • Atribuindo valor a uma vairiável ajax call em em.js
  • YUI 3 - Defina headers de requests globais paira o Ajax
  • One Solution collect form web for “Por que 500 erros quebram ajax chamada?”

    O problema pode estair na sua function alertContents (não mostrado na sua pergunta). Uma function chamada por .onreadystatechange quase sempre pairece algo assim:

     vair callback = function() { if (http_request.readyState==4 && http_request.status==200) { // do stuff } } vair callback = function () { vair callback = function() { if (http_request.readyState==4 && http_request.status==200) { // do stuff } } } vair callback = function() { if (http_request.readyState==4 && http_request.status==200) { // do stuff } } 

    se a página produzir um código Http 500, então a instrução if crashrá e o resto do código no callback não será executado. Paira pegá-lo, adicione:

     else if(http_request.readyState==4 && http_request.status==500) { console.log('The serview\'s on fire!'); } 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.