带参数的Angular 2 http.get到C#MVC

时间:2016-12-12 12:28:37

标签: c# angularjs asp.net-mvc

尝试使用参数放置http.get:

Angular2服务:

getAvailability(customerId) {
    var Customer = this.Customer.getValue();
    var data = ({ 'customerId': Customer.Id, 'eventId': eventId});
      console.log("service_data_body", data);  
    this.http.get("GetAvailability", data)
        .map(res => res.json()).subscribe((x) => {
            console.log("callback succes");
        });

}

MVC控制器:

public ActionResult GetAvailability(int? customerId, int? eventId)
{
    var k = customerId; 
    var l = eventId;
    .......
 //some other implementation code....
}

我在构建时没有收到任何错误,但是在运行时。在调试时,控制台日志给我的值但放置了断点,似乎没有发送到C#(var k和var l为null)。因此,js服务不会以适当的方式传递变量。

欢迎任何帮助。

1 个答案:

答案 0 :(得分:1)

这是一个GET。为什么看起来你正试图在身体中发送数据?尝试将数据包含为url参数。

getAvailability(customerId) {
    var Customer = this.Customer.getValue();
    var query = "?customerId=" + Customer.Id + "&eventId=" + eventId;
    console.log("service_data_query", query);  
    this.http.get("GetAvailability" + query)
        .map(res => res.json()).subscribe((x) => {
            console.log("callback succes");
        });

}