Wie kann ich den Aufruf einer controller-Methode von JQuery?

Habe ich ajax-code für asp.net (nicht-mvc) zum Aufruf einer webmethode, um zusätzliche Daten vom server für eine Anfrage. Aber ich kann nicht scheinen, um herauszufinden, die url zu geben, meine JQuery in MVC.

<script type="text/javascript" language="javascript">
function SubmitAjax(url, message, successFunc, errorFunc) {
    $.ajax({
        type:"POST",
        url:url,
        data:message,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success:successFunc,
        error:errorFunc
        });

};

Möchte ich nicht passieren die gesamte Liste Verwandte Daten in einer select-Liste, um jeder person, kommt auf die Seite, da nicht alle werden diese Funktion. So würde ich nennen möchte ein controller oder webmethod über JQuery, aber kann nicht scheinen, um herauszufinden, wie Sie Adresse die URL in MVC.

Bemerkte ich diesen Beitrag:
JQuery-Ajax-Aufruf aufgelöst wird, um die aktuellen Controller-Ordner, Anstelle der root-Ordner

ist $.getJson eine mvc-Methode? ist das eine gute Lösung für meinen Anwendungsfall? Ich brauche nur einen string zurückzugeben, der url, oder ein leerer string, wenn das, was ich Suche nicht gefunden. Muss ich auf ein für die $.getJSon Methode? ist das ein Teil von MVC, oder Teil von JQuery? Der führende slash gehen, um Punkt-zu-Anwendung-Stammverzeichnis oder root-server?

  • MVC ist nicht eine bestimmte Bibliothek mit dem tatsächlichen Funktionsnamen. Es ist ein design pattern... es sei denn, Microsoft eigentlich benannt, der Rahmen,... die Sie vielleicht, gekommen, an es zu denken. Originalität ist nicht Ihre starke Seite. (Googeln, dass...) - Aber auf den Punkt... $.getJson ist eine jQuery-Funktion zum abrufen von JSON-Daten per AJAX-Anfragen. Hat nichts bestimmtes zu tun .Net.
  • Eine url wird immer eine url. Es funktioniert nicht anders asp.net mvc.
  • ich bin mir nicht sicher, welchen Teil Sie sich beziehen, in die top meinte ich Asp.net MVC, unten meinte ich die Asp.net MVC javascripts, die gebündelt kommen.
  • Ihre url in verschiedenen MVC-basiert auf, was Sie aufrufen, Inhalte, eine webMethod, oder wenn es einen Weg gibt... eine controller-action direkt, dass ist nicht eine webMethod.
  • Nein, die url ist immer die gleiche Sache für den browser. Sie müssen nur einen Rahmen, der handhabt es ein wenig anders. Der browser weiß nicht, ob Sie mit asp.net mvc oder andere Frameworks. Man ruft einfach eine url ein, und erwarten ein Ergebnis irgendeiner Art. Asp.net mvc ist keine Zauberei und hat nichts zu tun mit dem browser. Webmethod ist nichts, der browser weiß nichts über. Es ist einfach, außer ein Ergebnis dieser url.
  • Ich verstehe, dass. Nirgends in meinem post habe ich erwähnt, dass ein browser so bin ich nicht sicher, was Sie versuchen zu sagen.
  • Ok, also Taten Sie offenbar nenne es einfach "ASP.Net MVC" (/sigh... Können Sie mir die Schuld für verwirrt? xD) - Mein Punkt war, dass "MVC" ist nicht spezifisch für entweder ASP.Net noch etwas in Bezug auf Sie. Es ist eine Allgemeine design-Muster, sehr weit verbreitet. - Und es hat nichts zu tun mit jQuery oder AJAX-Funktionen (wie $.getJson) entweder. - Sorry, ich kann nicht mehr, als dass.
  • Was ich sage ist so ziemlich die Antwort auf deine Frage. Jquery hat nichts zu tun mit dem server-framework verwenden. Daher verwenden Sie es genau wie Sie würde, wenn Sie, wo webforms (zum Beispiel) als server-side framework.
  • kein problem, danke für den Versuch. @Mattias - soweit auch die Fehlermeldung mein Ajax-call wird wieder Nicht Gefunden. Ah..wir haben Fortschritte.. habe ich entfernt, das [WebMethod] - tag, und reduziert die url nur CheckForInstaller und jetzt bekomme ich InternalServerError.
  • Das WebMethod-Attribut ist nur eine webforms-Ding, das verwendet wird zum weiterleiten einer eingehenden url auf eine bestimmte Methode. Das ist nicht erforderlich asp.net mvc-wie Sie bereits über die routing-Bibliothek, die eine Weiterleitung aller eingehenden url auf die richtige Methode (action).
  • danke, jede Idee, was der Internal Server Error ist, oder wie diagnostizieren?
  • Nur der debugger wird gestartet und Sie sehen den Fehler. Wenn die Aktion, die Sie versuchen zu nennen, nicht getroffen zu werden, dann deine url ist falsch. Siehe meine Antwort für die Erklärung, wie url ' s arbeiten.

InformationsquelleAutor Maslow | 2010-02-10
Schreibe einen Kommentar