如何将JQuery-BootGrid数据api调试到NancyFX

时间:2015-10-13 19:27:21

标签: ajax google-chrome-devtools nancy jquery-bootgrid script-debugging

编辑问题:

我用jquery-bootgrid数据API编写了一个页面。

它应该使用AJAX调用我的NancyFX REST API,但事实并非如此。

  1. 客户方:
  2. 我正在从本地仓库服务bootgrid:

    <script src="~/scripts/jquery.bootgrid.min.js"></script>
    

    也许我不应该使用.min.js文件而是使用open文件进行调试?如果是这样,你能告诉我做什么,或指出我的方向吗?

    页面代码是

    ...
    data-toggle="bootgrid" data-ajax="true" 
    data-url="/cars/0" data-method="GET"
    
    1. 服务器端:
    2. 我有NancyFx提供的html页面并且看起来没问题,除了网格是空的。在Visual Studio中有一个带有断点的API模块(在localhost上运行),具有以下内容:

      Get["/cars/{status:int}?current={current}&rowCount={rowCount}"] = parameters => ...
      

      永远不会调用此代码。如何在检查路由之前强制调试器捕获任何调用,并告诉我进入服务器的内容是什么?

      我正在使用chrome调试器。

2 个答案:

答案 0 :(得分:0)

Nancy标准无法使用当前网址。我们不会在路线中添加查询字符串参数。

你想要写下以下内容:

Get["/cars/{status:int}"] = parameters => 
{
    var status = (int)parameters.status;
    var current = (string)parameters.current.TryParse("");
    var rowCount = (int)parameters.current.TryParse(10);

    ...
}

沿着这些路线。 (写在我的头顶)

另一种方法是绑定请求,如下所示:

Get["/cars/{status:int}"] = parameters => 
{
    var request = this.Bind<MyRequest>();

    ...
}

public class MyRequest
{
    public MyRequest()
    {
        RowCount = 10;
    }

    public int Status {get;set;}
    public string Current {get;set;}
    public int RowCount {get;set;}
}

答案 1 :(得分:0)

将nancy更改为Get["/cars/{status:int}"] = parameters =>可以捕获请求。

没有调用ajax,因为我丢失了JQuery的第一行... $(document).ready(function() {

要获取当前和rowCount,您需要使用

var current = (int)Request.Form["current"];
var rowCount = (int)Request.Form["rowCount];

顺便说一下,Get没有工作(我认为它是一个Bootgrid错误)所以我把它改成了POST。