【问题标题】:NancyFx and angularjs pass init params using $http.getNancyFx 和 angularjs 使用 $http.get 传递初始化参数
【发布时间】:2016-10-28 01:16:41
【问题描述】:

在页面初始加载时,我尝试使用 $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 将显示在我的 testview 上。

【问题讨论】:

    标签: angularjs nancy


    【解决方案1】:

    你可以这样做:

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

    查看Wiki了解更多详情。

    【讨论】:

      【解决方案2】:

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

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

      GET 使用查询字符串数据:您可以将数据转换为查询字符串参数,然后通过这种方式将它们传递给服务器。

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

      【讨论】:

        【解决方案3】:

        我只是将其添加为替代方案。

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

        希望这对其他人有所帮助。

        【讨论】:

          猜你喜欢
          • 2015-01-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-09
          • 2014-05-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多