簡體   English   中英

Angular JS在IIS上托管后未調用JsonResult

[英]Angular JS not calling JsonResult After Hosting on IIS

我正在使用Angular Js在.NetCore中創建一個Web應用程序,它在localhost上的測試中工作正常。 但是,當我將其托管在IIS服務器中時,它無法調用JsonResult方法

以下是我的代碼[Angular Js]

         $http({
                url: '/Home/GetDetails',
                method: "GET",
                params: {
                    StaffCode: $scope.StaffCode,
                }
            }).then(function mySuccess(response) 
                {
                }, function myError(response) {
                $window.alert('An Error Occurred , Try Again Later');
            });

它在localhost上工作正常,但是在IIS服務器上托管后,對GetDetails Jsonresult的調用以錯誤的方式發生

例如 :

http://10.1.10.10/ApplicationName/Home/Index是應用程序的網址

並調用GetDetails jsonresult是

http://10.1.10.10/Home/GetDetails [提供錯誤404:找不到文件]

代替http://10.1.10.10/ApplicationName/Home/GetDetails

我試過了

url: '~/Home/GetDetails',

url: './Home/GetDetails',

但是它似乎沒有調用Jsonresult方法的正確地址

url的正確格式是什么?

這里的問題是,您已經硬編碼了URL,如果應用程序托管在某個目錄中而不是根文件夾中,則該URL不起作用,因此解決方案是始終使用Url.Action幫助程序方法生成正確的相對URL,例如:

url: '@Url.Action("GetDetails","Home")'

這將確保生成正確的url,而不管應用程序托管了多少嵌套子目錄。

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM