NancyFx 和 angularjs 使用 $http.get 传递初始化参数

NancyFx and angularjs pass init params using $http.get

在页面初始加载时,我尝试使用 $http.get 方法将开始和结束变量传递给 Nancy,如下所示:

  $http.get("/api/sample", {params:{"start": start, "end": end}}).then(function(response) ....

在 nancy 方面,我不确定如何让我的参数开始和结束..所以这就是问题...我怎样才能得到我传递的参数

 Get["/api/sample"] = p =>
  {
  var data = p.data;
  // also tried various suggestions and this this.Bind<dynamic>();
  sampleData= Data(data);
  return sampleData;
  };

在这之后,我有这样的看法:

Get["/testview"] = _ => View["/testview"];

并且我希望将我的数据作为 json 传递,如下所示:

Get["/api/sample"] = p => Response.AsJson(sampleData);

最后,我的 sampleData 将显示在我的测试视图中。

你在这里犯了一个大错误。

POST with data: 这可能就是你想要的。如果您正在传递数据,那可能意味着您正在修改某些模型或在服务器上执行某些操作。这些类型的操作通常通过 POST 个请求完成。

GET with query string data:您可以将数据转换为查询字符串参数,并以这种方式将它们传递给服务器。

url: '/api/sample?ids=1,2,3'

你可以这样做:

Get["/api/sample/{start:int}/{end:int}"] = p =>
{
  var data = FetchData(p.start,p.end);
  return View("testView",data);
}

查看 Wiki 了解更多详情。

我只是将其添加为备选方案。

  Get["/api/sample"] = p =>
  {
     var myData = this.Bind<SomeModel>();
     ....
  }

希望这对其他人有帮助。