Kan bron niet laden: de server reageerde met een status van 500 (Interne serverfout) in Bind-functie

Ik probeer een oproep te verzenden met Ajax, maar in Chrome is er een stijgende fout, maar in Firefox is er geen fout. Maar nog steeds kan het de methode niet aanroepen. Ik heb geprobeerd mijn oproep op te nemen in Firebug, maar er is geen oproepverzoek in Firebug. Dus dat is de reden dat er geen fout is in Firefox.

Index.chshtml-code staat hieronder

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);
                    }
                });
            });
        });
    });
}

Controllermethode

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

Fout in Chrome

POST http‍://localhost:3577/GlobalSearch/SaveColumnInfo 500 (interne serverfout)
jQuery.ajaxTransport.send
jQuery.extend.ajax
(anonieme functie)
jQuery.event.handle
jQuery.event.add.elemData.handle.eventHandle


Antwoord 1, autoriteit 100%

De 500-code geeft normaal gesproken een fout op de server aan, niet iets met uw code. Enkele gedachten

  • Praat met de serverontwikkelaar voor meer informatie. U kunt niet direct meer informatie krijgen.
  • Verifieer uw argumenten in de aanroep (waarden). Zoek naar alles waarvan u denkt dat het een probleem kan veroorzaken voor het serverproces. Het proces zou niet moeten stoppen en je zou een betere code moeten teruggeven, maar daar komen ook bugs voor.
  • Kan met tussenpozen optreden, bijvoorbeeld als de serverdatabase uitvalt. Misschien het proberen waard op een ander moment.

Other episodes