2016-04-18 11 views
0

Im Folgenden sind die WebService-Methode i consume- versuche:So rufen Sie den ASMX-Webservice von der MVC-Ansicht aus auf?

[WebMethod] 
    public string HelloWorld() 
    { 
     return "Hello World"; 
    } 

mit Ajax-Aufruf für den Aufruf dieser Methode

$.ajax({ 
    type: "POST", 
    url: "/WebServices/WebService1.asmx/HelloWorld", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    success: function (msg) { 
     var data = msg.d; 
    }, 
    error: function (msg) { 
     alert(msg.responseText); 
    } 
}); 

Aber jedes Mal von ich bin immer Fehler Ressource nicht sein könnte, weil ich gefunden bin Aufruf von MVC anzeigen, ich habe auch versucht, ganze Localhost Pfad http://localhost:60005/ immer noch den Fehler der Ressource nicht gefunden, konnte jemand mir ein kleines Beispiel für den Aufruf asmx Webservice von MVC anzeigen?

+0

Versuch:

[System.Web.Script.Services.ScriptService] 

Sie ein nettes Tutorial here haben Aufruf einer Aktionsmethode aus der Sicht, und dann von der Controller-Aktion Aufruf Ihrer Web-Methode –

+3

Es spielt keine Rolle, ob es von einer MVC-Ansicht oder einem Web Form kommt s Seite oder sogar eine einfache HTML-Seite. Es ist alles nur HTML und JavaScript, sobald es den Client erreicht. Stellen Sie nur sicher, dass Ihr Pfad auf der Clientseite korrekt ist. – mason

+0

Stellen Sie sicher, dass der Webservice tatsächlich ausgeführt wird, wenn Sie ihn aufrufen. In Visual Studio gibt es eine Option "Mehrere Start-Projekte", verfügbar über die Lösung (rechte Maustaste) -> StartUp-Projekte festlegen ... -> Mehrere Start-Projekte. Legen Sie Action = Start für Ihr WebService-Projekt + Ihr WebApplication-Projekt fest. –

Antwort

1

Versuchen Sie, mit dieser Linie zu Ihrem RouteConfig hinzu:

routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" }); 

auch Kommentar- diese Zeile in Ihrer asmx Web-Service-Klasse:

Verwandte Themen