Hallo Ich habe ein litle jquery Skriptjquery Skript in mvc Layout funktioniert nicht
$(document).ready(function() {
$.ajax({
url: '@Url.Action("AjaxTest", "Home")',
})
});
Als ich es direkt in der Layout-Seite meiner MVC-Anwendung sind es funktioniert, wie ich erwartet. Wenn ich versuche, es aus einer externen Datei (infoAjax.js) aufzurufen, schlägt es fehl und ich bekomme eine Nachricht: Ressource konnte nicht geladen werden: Der Server hat den Status 404 (Nicht gefunden) erhalten. Meine Bundle-Datei:
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js",
"~/Scripts/infoAjax.js"
));
und verantwortliche Teil der Layoutseite:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
@ Url.Action wird in einer JS-Datei nicht funktionieren. Das ist Razor-Syntax, also muss es in einer Ansicht sein. Wenn Sie Ihre Netzwerkregisterkarte beim Ausführen von der externen Datei betrachten, werden Sie wahrscheinlich versuchen, eine URL wie http: //@Url.Action ("AjaxTest", "Home") aufzurufen, anstatt sie zu lösen die echte URL, die es tun würde, wenn es in einer cshtml-Datei wäre. – ADyson