通过ajax调用发送请求时出现POST 500内部服务器错误

问题描述 投票:0回答:2

我有一个逻辑,我想将数据插入数据库。所以我通过本地计算机发送

ajax
请求。下面是相同的代码..

$("#btnSubmitCT").on('click', function () {       

        var valid = validateForm();
        if (valid) {
            $("#divLoadingPanel").show();
            SubmitForm_CE().done(function () {
                $("#divLoadingPanel").hide();
            });
        }

    });
    
    
function SubmitForm_CE() {
    try {

        var req_id = "";
        var umsGroupNameBy = CurrentGroupName;
        var umsGroupIdBy = CurrentGroupID;
        var loginUserName = LoginUserName;
        var spanType = $(spantypeid + ' option:selected').val().toUpperCase();
        var r4gState = $(r4gstatediv + ' option:selected').text();
        var UG_LEN = parseFloat($('#UGLEGCE_txt').html()).toFixed(4);
        var AR_LEN = parseFloat($('#ARLEGCE_txt').html()).toFixed(4);

        var fixedUG = parseFloat($('#UGLEGCE_txt').html()).toFixed(4);
        var fixedAR = parseFloat($('#ARLEGCE_txt').html()).toFixed(4);

        var linkId;
        var spanId;
        var createdId;
        if (spanType == AppConfig.SpanTypeInter.toUpperCase()) {
            linkId = "";
            spanId = $(spnLinkId).text();
            createdId = "SPAN ID: " + spanId;
        }
        else {
            spanId = "";
            linkId = $(spnLinkId).text();
            createdId = "LINK ID: " + linkId;
        }

        var mZoneCode = $(mzoneid + ' option:selected').val();
        var mZoneText = $(mzoneid + ' option:selected').text();
        var mZoneArr = mZoneText.split('/');
        var mZoneName = mZoneArr[0];
        var operationType = $(activitytypeid + ' option:selected').val().toUpperCase();

        var pendSpanLeg = parseFloat($(pendingSpanLen).html());
        var neLeg = parseFloat($(spnspanlength).html());        
        var offerHoto = parseFloat($(hotoofferbyct).val());
        var offerDate = $('#ctOfferdatepicker').val();
        
        var remark = $(remarkct).val();
        var offerValue = JSON.stringify({ "OFFERHOTO": offerHoto, "OFFERLIT": "0", "NE_LEG": neLeg, "HOTOCOMPLETED": "0", "LITCOMPLETED": "0" });
        var statusId = getHotoStatusID(offerValue);
        var umsGroupObj = JSON.parse(UMSGroupDetails)
        var GroupToValue = "";
        var umsGroupNameTo = "";
        var umsGroupIdTo;
        $.each(umsGroupObj, function (index, element) {
            if (element.GroupName == UserGrouop.FE) {
                umsGroupNameTo = element.GroupName;
                umsGroupIdTo = element.GroupID;
            }
        });
        var Values = { "SPANID": spanId, "LINKID": linkId, "CREATEDBY": loginUserName, "MZONECODE": mZoneCode, "MZONENAME": mZoneName, "NELEG": neLeg, "UGLEG": UG_LEN, "ARLEG": AR_LEN, "STATUSID": statusId, "HOTOOFFERDATE": offerDate, "REMARK": remark, "HOTOOFFERLEG": offerHoto, "UMSGROUPIDBY": umsGroupIdBy, "UMSGROUPNAMEBY": umsGroupNameBy, "UMSGROUPIDTO": umsGroupIdTo, "UMSGROUPNAMETO": umsGroupNameTo, "SPANTYPE": spanType, "R4GState": r4gState };

        return $.ajax({
            type: "POST",
            url: AppConfig.PrefixURL + "App/InitiateWF_CT",
            data: JSON.stringify(Values),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            //            async: false,
            beforeSend: function () {
            },
            success: function (response) {
                alert(response);
                var datalist = JSON.parse(response);
                var state = datalist.split('|')[0];
                var msg = "";
                if (state == "SUCCESS") {
                    msg = "Request Id: " + datalist.split('|')[1] + " has been created for " + createdId;
                    req_id = datalist.split('|')[1];                    
                    hideInfoWindow();                    
                    hideLoading();
                    jAlert(msg, ValidationMessageConfig.Title, function () {
                        $(spandetailsdiv).hide();
                        deleteSpanListDatatable_CT($(spnLinkId).text());
                    });

                } else if (state == "WARNING" || state == "EXISTS") {
                    msg = datalist.split('|')[1];
                    hideInfoWindow();
                    hideLoading();
                    jAlert(msg, ValidationMessageConfig.Title, function () {
                        $(spandetailsdiv).hide();
                        deleteSpanListDatatable_CT($(spnLinkId).text());
                    });
                } else {
                    hideLoading();
                    msg = datalist.split('|')[1]
                    jAlert(msg, ValidationMessageConfig.Title, function () {
                        $(spandetailsdiv).hide();
                        deleteSpanListDatatable_CT($(spnLinkId).text());
                    });
                    AppLog.getLogger('error', "Error occured during processing new job");
                }
            },
            error: function (response) {
               // jAlert(ErrorMessageForMethods.initiateWF, ErrorMessageForMethods.Title);
                //AppLog.getLogger('error', "Error occured during processing new job");
                // hideLoading();
                alert('NO Record created 1');
                hideLoading();
            }
        });
    } catch (e) {
        $(spandetailsdiv).hide();
        hideLoading();
        alert('NO Record created 2');
        //jAlert(ErrorMessageForMethods.initiateWF, ErrorMessageForMethods.Title);
        //AppLog.getLogger('error', "Error occured during processing new job");

    }
}    

url: AppConfig.PrefixURL + "App/InitiateWF_CT",
这里告诉我们http://localhost:2126/App/InitiateWF_CT 500(内部服务器错误)

你能建议一下这有什么问题吗?

javascript jquery ajax model-view-controller
2个回答
0
投票

显然没有足够的信息来说明导致 500 错误的原因:

  • 500错误表示这是服务器端的意外错误。这意味着(如果服务器正确实现)它与请求本身无关;对于无效请求,应发送 4xx 错误;
  • 我们没有(并且您也没有分享)任何有关服务器的知识。

我建议您执行以下步骤:

  1. 手动运行请求(您可以使用 Postman、HTTP 客户端或 VS Code 的 REST 客户端扩展、cURL 等工具)。这样,您将消除客户端,并且能够快速尝试不同的请求选项并查看服务器到底返回什么;根据您对服务器的访问级别,您可以利用日志/调试服务器/启用更详细的错误报告;
  2. 一旦找到正确的请求格式,您就可以回到客户端寻找遵循已识别格式的方法。

0
投票

500 内部服务器错误通常表示服务器端代码或配置存在问题。由于该错误是在向 http://localhost:2126/App/InitiateWF_CT 发出 POST 请求时发生的,因此更有可能InitiateWF_CT 端点的服务器端代码中存在该问题。您可以记录它并检查...

© www.soinside.com 2019 - 2024. All rights reserved.