Что не так в этом вызове ajax? - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь сохранить некоторые данные в своей базе данных, используя Ajax-вызов, как я делал сотни раз:

function saveNewGraphic() {
var svgString = drawObject.node().outerHTML;
if (logLevel >= 10) {
    console.log("svgEditor - saveNewGraphic");
    console.log("SVG-Grafik: " + svgString);
}

$.ajax({
    type: "POST",
    url: appBaseUrl + 'Symbols/SaveNewGraphic',
    data: {
        svgString: svgString,
        pageId: pageId
    },
    error: function () {
        alert("Fehler beim Speichern der neuen Grafik auf Seite (ID) " + pageId);
    },
    success: function (result) {
        if (logLevel >= 10) console.log("Grafik mit ID: " + result.data.ID + " gespeichert");
        //  svg.attr("id", result.data.ID);
    },
    async: false
});
}

svgString в порядке, и pageId также.Я попробовал то же самое без ошибок, успеха и асинхронности, но это даже не затронуло действие контроллера.Только сообщение:

HTTP500: SERVERFEHLER: Es ist ein unerwarteter Zustand aufgetreten, sodass der Server die Anforderung nicht erfüllen kann.
(XHR)POST - http://localhost:52771/Symbols/SaveNewGraphic

Это действие, которое должно быть выполнено:

    [HttpPost]
    [Authorize(Roles = RoleName.AdminOrEngineerOrSales)]
    public ActionResult SaveNewGraphic(string svgString, int pageId)
    {
        string message="ID fehlerhaft";
        //if (pageId == 0) message = "Neue Grafik wurde nicht gespeichert, Page-ID nicht lesbar" ;

        int id = 1;// SymbolDataProvider.SaveNewProjectGraphic(svgString, pageId, User.Identity.Name);
        //if(id >= 0) message = "Grafik erfolgreich gespeichert";


        var data = new { ID = id, Message = message };
        return Json(new { data, JsonRequestBehavior.AllowGet });
    }

Странно, что это действие будет выполнено (конечно, если я изменю URL).

    [HttpPost]
    [Authorize(Roles = RoleName.AdminOrEngineerOrSales)]
    public ActionResult SaveNewPosition(string positionData, int pageId, int id = 0, int symbolId = 0)
    {
        string message;
        if (id == 0)
            message = "Position nicht gespeichert, Id nicht lesbar";
        else if (SymbolDataProvider.SaveSymbolPosition(id, positionData, symbolId, pageId, User.Identity.Name))
            message = "Position gespeichert.";
        else
            message = "Position nicht gespeichert, Probleme beim Datenbankaufruf!";
        return Json(new { Message = message, JsonRequestBehavior.AllowGet });
    }

Но я не мог видеть разницу между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...