Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
jQuery -> asp.net webservice call
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

jQuery -> asp.net webservice call

beantworten | zitieren | melden

Hallo liebe Community,

ich habe ein ASP.NET MVC4 projekt in dem ich per jQuery auf einen Webservice zugreifen will.
Hier erstmal der Code:
function test()
        {
            $.ajax({
                type: "POST",
                url: "DataBaseService.asmx/HelloWorld",
                succses: function (msg) { alert("succses: " + msg); },
                error: function (a, b, c) { alert(a + ' | ' + b + ' | ' + c); }
            });
           
        }

[WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class DataBaseService : System.Web.Services.WebService
    {

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


Ich sehe einfach keinen fehler! Er springt immer in die error function und gibt folgendes im alert aus:
Fehler
[object Object] | error | Not Found
wieso findet er meine HelloWorld Mehtode nicht? In sämtlichen beispielen wirds genau so gemacht!
liegt es vieleicht daran das ich das alles local teste und nich auf nen richtigen server? aber das kann ich mir nich vorstellen ....
die dateien liegen auch im selben verzeichnis ....

Hoffe mir kann einer helfen :/ .... vielen dank im vorraus.
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5966
Herkunft: Leipzig

beantworten | zitieren | melden

Hi Coooder,
Zitat von Coooder

succses: function (msg) { alert("succses: " + msg); }

in die success-Methode kann er ja schonmal nicht springen, da du sie falsch geschrieben hast.

Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
Sarc
myCSharp.de - Member



Dabei seit:
Beiträge: 426

beantworten | zitieren | melden

Hallo,

hier steht doch alles schön beschrieben:http://blog.coreycoogan.com/2010/12/17/calling-asp-net-web-service-asmx-from-jquery/
Hast du alles beachtet?
Content-Type des ajax-requests auf "application/json" gesetzt?
In deinem Fall leers data (data: {}) mitgeschickt?
Ist "succses" nur hier falsch geschrieben oder auch im echten Code?
private Nachricht | Beiträge des Benutzers
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

beantworten | zitieren | melden

ja, ich hatte es tatsächlich falsch geschrieben ... -.- ... das kommt davon wenn man sich zu sehr an IntelliSense gewöhnt ^^

ich habe den Code jetzt angepasst, jedoch funktioniert es immer noch nicht.
function test()
        {
            $.ajax({
                type: "POST",
                url: "DataBaseService.asmx/HelloWorld",
                dataType: "json",
                contentType: "application/json",
                success: function (msg) { alert("success: " + msg); },
                error: function (a, b, c) { alert(a + ' | ' + b + ' | ' + c); }
            });
            
        }

meintest du das so?

edit: ich habe auch diese zeile:
$.ajaxSetup({ type: 'POST', dataType: 'json', contentType: 'application/json', data: {} });
im script bereich eingefügt, wie in dem beispiel ... nützt aber auch nichts :/
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Coooder am .
private Nachricht | Beiträge des Benutzers
Sarc
myCSharp.de - Member



Dabei seit:
Beiträge: 426

beantworten | zitieren | melden

Dann hilft nur Debuggen. Prüfe ob ein Request ankommt und es danach schief geht oder ob es schon beim Aufruf ein Problem gibt. Firebug oder ähnliches anwerfen und Response auslesen.
Was für einen Fehler bekommst du dann?

Gibt es eigentlich einen Grund wieso du nicht die Web API verwendest, wenn du eh schon mit MVC 4 arbeitest?
private Nachricht | Beiträge des Benutzers
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

beantworten | zitieren | melden

also er springt nicht in den Haltepunkt beim dem WebService rein
bei der error methode im javascript bekommt parameter c ja auch den wert "Not Found"

in der Firebug Console findet man dies hier:
Fehler
http://localhost:3208/DataBaseService.asmx/HelloWorld

[HttpException]: Der Controller für den Pfad "/DataBaseService.asmx/HelloWorld" wurde nicht gefunden oder implementiert IController nicht.
   bei System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
   bei System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
   bei System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
   bei System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
   bei System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
   bei System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
   bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Zitat von Sarc
Gibt es eigentlich einen Grund wieso du nicht die Web API verwendest, wenn du eh schon mit MVC 4 arbeitest?
naja ich hab grad mit dem ganzen thema angefangen und das mit dem webservice erschien mir zumindest leichter
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

Es wäre gut, wenn Du Möglichkeiten der Technologien anhand von Tutorials und Blogs durchlesen würdest anstatt plan- und sinnlos irgendwas ausprobierst und dann mehr oder minder nach Web-Grundlagen fragst.
private Nachricht | Beiträge des Benutzers
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

beantworten | zitieren | melden

Was soll das?
Ich habe mich mit dem WebService vieleicht für das eher suboptimale entschieden, kann schon sein ... aber willst du mir erzählen das du immer gleich den perfekten weg eingeschlagen hast? Gerade da ich mich mit der kompletten materie erst vertraut machen muss, da ich damit noch nicht gearbeitet habe

Und ich habe die ganze zeit tutorials gelesen zum WebService, da ich aber nun einfach nich mehr weiter wusste habe ich eben hier nachgefragt. Also bitte unterlasse es so zu tun, als würde ich einfach mit dem Gesicht auf meiner Tastatur rum rollen und hoffen das was bei raus kommt ...
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

Ach Coooder.. das fängt schon beim Google Maps Thread an, dass Du offensichtlich die Trennung von Javascript und einer serverbasierten Anwendung wie ASP.NET MVC nicht verstanden hast; das liest man schon im Threadinhalt und der Fragestellung dessen.

Hier gehts gleich weiter: Dir ist WCF bekannt; hast Dir aber offensichtlich nicht mal die Möglichkeiten von ASP.NET MVC 4 durchgelesen.
Wenn Du asp.net/mvc auch nur ein mal aufgerufen und durchgelesen hättest, würden Dir WebAPIs was sagen: daher behaupte ich auch, dass Du einfach nur plan- und sinnlos rumstocherst.

Zum WCF Zeugs hier: die Fehlermeldungen sind eindeutig.
Ich denke auch in diesem Fall hast Du Dir nicht ein mal ein Tutorial oder ein entsprechendes Video angeschaut, sondern viel eher nach WCF gesucht und das erste Snippet verwendet.
Jedes "First Steps" Tutorial zeigt wie's funktioniert.

Wieso ich das behaupte? Weil sich das bei jQuery widerspiegelt:
Du zeigst hier einen Ajax-Verbindungsaufbau, der seit Version 1.6 als obsolete in der Dokumentation geführt ist. Aktuell sind wir bei Version 2.0.3

Dann noch die Sache mit der Datenbank und ASP.NET MVC: auch hier fehlen die völlig die Grundlagen.
Du hast einfach mal drauf los gearbeitet und kurz vor dem Ziel fällt Dir auf: hups, ich muss die Anwendung ja verteilen.

Sorry für den öffentlichen Rundumschlag aber musste ma gesagt werden.
private Nachricht | Beiträge des Benutzers