Ich habe eine ASP.NET MVC-Webanwendung, die von http://localhost/myappname
ausgeführt wird. Von jQuery aus mache ich jQuery $ .ajax () -Aufrufe, um Teilansichten basierend auf einer Benutzeraktion zurückzugeben. Ich rufe das normalerweise aus einer Sicht in demselben Controller, der die Funktion enthält, die ich über Ajax aufruft. Zum Beispiel hat eine Ansicht in meinem Home-Controller die folgende Funktion (die gut funktioniert):
Diese obige URL wird in http://localhost/myappname/Home/GetNavigationTreePV
aufgelöst und die Teilansicht wird korrekt zurückgegeben.
Nun versuche ich qUint zu benutzen, um meine Funktionen zu testen. In diesem Testfall möchte ich nur bestätigen, dass ich bis zum Ende der Funktion komme und wahr zurückgebe. Ich habe einen QUNIT
-Controller und eine entsprechende Ansicht erstellt (die meine Unit-Test-JavaScript-Datei lädt). In der Datei test.js, die meine Komponententests enthält, versuche ich, dieselben Funktionen aufzurufen, die sich in meinen Home-Ansichten befinden, wie die oben genannte. Da mir der QUNIT
-Controller jedoch ausgeht, wird die URL in http://localhost/myappname/qunit/Home/GetNavigationTreePV
aufgelöst.
Ich habe versucht, die URL meiner Ajax-Anfrage auf /Home/GetNavigationTreePV/
(mit dem vorhergehenden Schrägstrich) zu ändern, aber wenn ich das tue, bekomme ich die folgende URL http://localhost/myappname/Home/GetNavigationTreePV
.
Um klar zu sein, versuche ich meine Ajax-Anfrage auf eine Art und Weise zu schreiben, die immer von der Wurzel meiner MVC-Anwendung ausgeht, und dann den in meiner $ .ajax () - Funktion angegebenen URL-Parameter anfügt.
Gibt es einen einfachen Weg, das zu tun? Tue ich das auf eine komische Weise?
Tags und Links asp.net-mvc jquery url qunit