Javascript 如何访问Angular';ASP.net中$http.get的可选配置对象
我有一个如下所示的URL: example.com/users/34/ 我希望Angular能够获取此ID(34)并调用我的ASP.net服务器以获取有关该用户的信息 根据Angular的文档($http#get),我认为我应该能够做类似的事情来实现这一点:Javascript 如何访问Angular';ASP.net中$http.get的可选配置对象,javascript,c#,asp.net,angularjs,Javascript,C#,Asp.net,Angularjs,我有一个如下所示的URL: example.com/users/34/ 我希望Angular能够获取此ID(34)并调用我的ASP.net服务器以获取有关该用户的信息 根据Angular的文档($http#get),我认为我应该能够做类似的事情来实现这一点: $http.get("/api/users/", { UserID: 34 } ). success(function (user, status, headers, config) { console.log(user); }).
$http.get("/api/users/", { UserID: 34 } ).
success(function (user, status, headers, config) {
console.log(user);
}).
error(function (data, status, headers, config) {
console.log(status);
});
但是我无法编写能够获取UserID
变量的ASP.net函数。下面是我的C#函数目前的样子:
[Route("api/users")]
public HttpResponseMessage getUser()
{
// do some stuff... but where is UserID? I can't find it in the header etc
}
当我设置断点时,该函数会成功启动,但我无法获取UserID。环顾四周,似乎找不到这方面的任何文档
有什么想法吗
---更新---
我已经证实这是可行的:
在我的角度文件中:
$http.get("/api/users/?UserID=34" ).
success(function (user, status, headers, config) {
console.log(user);
}).
error(function (data, status, headers, config) {
console.log(status);
});
在我的C#文件中:
但是我想做的不是将变量作为URL字符串的一部分传递,而是将其作为可选的配置对象传递(根据$http#get)
这就是我所要求的帮助 一个快速的谷歌搜索和
请求。查询字符串(“UserID”)
将是您获取该值的方式ASP@Ronnie对我来说,Request没有QueryString方法。为什么会这样?我可能会感到困惑,但您是否希望在ASP中获得值?我理解得对吗?我想您对默认路由和参数名称感到困惑。默认情况下,与url类似的example.com/users/34/
需要一个名为id
的参数,而不是UserID
。如果将public-HttpResponseMessage-getUser()
更改为public-HttpResponseMessage-getUser(int-UserID)
,可能会有所帮助。但是我不确定这是否与example.com/users/34/
路由冲突。或者,您可以尝试:public-HttpResponseMessage-getUser(int-id)
与$http.get(“/api/users/34”)
结合使用。
[Route("api/users")]
public HttpResponseMessage getUser( int UserID )
{
// yay! UserID now equals 34
}