编辑问题:
我用jquery-bootgrid数据API编写了一个页面。
它应该使用AJAX调用我的NancyFX REST API,但事实并非如此。
我正在从本地仓库服务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"
我有NancyFx提供的html页面并且看起来没问题,除了网格是空的。在Visual Studio中有一个带有断点的API模块(在localhost上运行),具有以下内容:
Get["/cars/{status:int}?current={current}&rowCount={rowCount}"] = parameters => ...
永远不会调用此代码。如何在检查路由之前强制调试器捕获任何调用,并告诉我进入服务器的内容是什么?
我正在使用chrome调试器。
答案 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。