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