2017-11-22 42 views
-1

Von Asp.Net MVC UI (View) Ich rufe ein Asp.Net WebApi über Ajax Call.Asp.Net WebApi Routing, wenn veröffentlicht unter DefaultWebSite und separate WebSite

$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: "api/UpdateEmployees", 
    data: undefined, 
    success: 
     function() { 
      EmployeesPage(); 
     }, 
    error: function (err) { 
     Error(err); 
    } 
}); 

Als ich veröffentliche die Website in IIS als Webseite es fine.But funktioniert, wenn ich die Website unter „Default Web Site“ veröffentliche es nicht funktioniert, weil es die URL als „EmployeeWebSite/api erwartet/UpdateEmployees ", wobei EmployeeWebSite mein virtuelles Verzeichnis unter" Standard-Website "ist.

Ich sollte URL anhängen, wo die WebSite gehostet wird. Kann mir jemand dabei helfen? Ich möchte, dass meine Website in beiden Fällen funktioniert.

Ich bin beide Wege mit localhost bereitstellen.

+0

Was ist die URL der Host-Webseite? Auf welche "URL" poste ich jetzt? Was "URL" willst du ** es zu posten? – mjwills

+0

Ihre Frage kann etwas konkreter sein, würde ich sagen. – inthevortex

Antwort

-1

Verwendung dieser Code in layout.chtml oder in der aktuellen Ansicht

<script type="text/javascript">  
     var baseurl = '@VirtualPathUtility.ToAbsolute("~/")';  
</script> 

Danach u können Sie Ihre Basis-URL varible

$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: baseurl +'api/UpdateEmployees', 
    dataType: "json",  
    success: 
     function() { 
      EmployeesPage(); 
     }, 
    error: function (err) { 
     Error(err); 
    } 
}); 

Tip verwenden: Dont in Ihrem $ .ajax undefined setzen, wenn Sie analysieren keine Daten Entfernen Sie es. Haben Sie einen Rost Tag

+0

Tausend Dank. Sie sind einfach großartig. – reddy

Verwandte Themen