web-dev-qa-db-fra.com

Échec du chargement de la ressource: le serveur a répondu avec un statut 500 (Erreur interne du serveur) dans la fonction Bind.

J'essaie d'envoyer un appel en utilisant ajax mais dans Chrome, l'erreur est en hausse mais, dans Firefox, il n'y a pas d'erreur. Mais il ne peut toujours pas appeler la méthode. J'ai essayé d'enregistrer mon appel dans firebug mais il n'y a pas de demande d'appel dans firebug. C'est donc la raison pour laquelle il n'y a pas d'erreur dans firefox.

Index.chshtml le code est en dessous

function onLoad(e) {

    var grid = $(this).data("tGrid");
    //bind to the context menu of the Grid's header
    event.preventDefault();
    $(this).find(".t-grid-header").bind('contextmenu', function (e) {
        //wait for the menu to be generated
        setTimeout(function () {
            // bind to the checkboxes change event. The context menu has ID in the format "GridName" + "_contextmenu"
            $('#globalsearchgrid_contextMenu :checkbox').change(function () {
                debugger;
                var $checkbox = $(this);
                // the checked state will determine if the column has been shown or hidden
                var checked = $(this).is(":checked");
                // get the index and the corresponding column from the Grid's column collection
                var columnIndex = $(this).data("field");

                var request = "{'columnIndex':'" + columnIndex + "'value':'" + checked + "'}";
                $.ajax({
                    type: "POST",
                    url: "../../GlobalSearch/SaveColumnInfo",
                    data: request,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) { },
                    error: function (xhr, status, error) {
                        alert(error.responseTextss);
                    }

                });
            });
        });
    });
}

Méthode du contrôleur

 public JsonResult SaveColumnInfo(string columnIndex, string value)
    {
        CookieHelper helper=new CookieHelper();
        helper.UpdateCookie(int.Parse(columnIndex), value.ToString());

        return Json("Success");
    }

Erreur en chrome

    POST http://localhost:3577/GlobalSearch/SaveColumnInfo 500 (Internal Server Error) 
    jQuery.ajaxTransport.send 
    jQuery.extend.ajax 
    (anonymous function) 
    jQuery.event.handle 
    jQuery.event.add.elemData.handle.eventHandle
31
Haris

Le code 500 devrait normalement indiquer une erreur sur le serveur, pas quoi que ce soit avec votre code. Quelques idées

  • Parlez au développeur du serveur pour plus d'informations. Vous ne pouvez pas obtenir plus d'informations directement.
  • Vérifiez vos arguments dans l'appel (valeurs). Recherchez tout ce qui pourrait, selon vous, causer un problème au processus serveur. Le processus ne devrait pas mourir et devrait vous renvoyer un meilleur code, mais les bogues s'y produisent également.
  • Cela pourrait être intermittent, comme si la base de données du serveur était en panne. Peut être utile d'essayer à un autre moment.
50
asantaballa