这个ajax调用有什么问题?

时间:2019-09-25 12:42:15

标签: ajax asp.net-mvc

我正尝试使用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也可以。 我尝试了同样的操作,没有错误,成功和异步,但是它甚至没有击中Controller-Action。 仅留言:

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

奇怪的是,此操作将被击中(当然,如果我更改网址)。

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

但是我看不到它们之间的区别。

0 个答案:

没有答案