use*_*305 6 c# ajax razor angularjs asp.net-web-api2
嗨,我使用下面的代码调用我的API
$http.get('/api/controller/method?param=value').
then(function (response) {
if (response.status == 200) {
console.log(response.data);
}
});
Run Code Online (Sandbox Code Playgroud)
它在我的本地机器上工作正常(http:// localhost/api/controller/method?param = value).
但是当我使用应用程序名称app在服务器中部署它时,它无法调用API(http:// server-ip/app/api/controller/method?param = value).
显然,它不会,因为URL是不同的.那么在c#中调用API的正确方法是什么,以便它可以在任何服务器中运行.
我曾尝试:
1. URL.Action:这不是在这种情况下工作.
2.我不想使用@HTML.hidden
3.使用或不使用斜杠(/)调用
我不确定我是否正确理解了你的问题,但我使用角度常量来设置服务器网址
angular.constant("CONSTS", {
"DEV_URL": "http://localhost:12345",
"LIVE_URL": "http://server-ip/app"
})
Run Code Online (Sandbox Code Playgroud)
然后在 $http 中调用
$http.get(CONSTS.DEV_URL + '/api/controller/method?param=value').
then(function (response) {
if (response.status == 200) {
console.log(response.data);
}
});
Run Code Online (Sandbox Code Playgroud)
我确信有一种方法可以自动执行此操作(咕噜咕噜),但我还没有实现。部署应用程序时,我只需手动更改常量。如果我能找到outomatic的方法,我会更新答案。
希望这个对你有帮助...
| 归档时间: |
|
| 查看次数: |
2181 次 |
| 最近记录: |