[英]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.