0

问题已编辑:

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

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

  1. 客户端:

我正在从本地仓库提供 bootgrid:

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

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

页面代码是

...
data-toggle="bootgrid" data-ajax="true" 
data-url="/cars/0" data-method="GET"
  1. 服务器端:

我有 NancyFx 提供的 html 页面,除了网格是空的之外,它看起来还不错。在 Visual Studio 中有一个带有断点的 API 模块(在 localhost 上运行),具有以下内容:

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

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

我正在使用 chrome 调试器。

4

3 回答 3

0

调试任何 jQuery 库的最简单方法是使用内置调试器,对此我使用 chrome 有点困难,所以我使用 Firefox,但如果您习惯使用 chrome,则使用它,功能几乎相同,但是使用 Firefox,您可以直接切换到与 html 中的任何元素关联的事件(在检查部分中)一旦进入调试器,设置断点并通过 F5 或 Ctrl+F5 刷新页面(如果您选择了有效的断点)您可以看到与每个变量相关的所有值,也可以看到每个函数。其次,使用调试器中的步入选项查看确切的行指向的位置,如果它引用任何其他文件,它将在调试器菜单中自动弹出打开。Firefox 的蜘蛛猴非常擅长调试和关联代码(即 完全是我的意见)。3-对于api调用,数据未处理或未显示的原因,很大程度上在于库的结构,(根据什么参数调用/获取/检索数据),为此尝试使用“watch表达式”选项,并尝试在控制台部分的加载 dom 上实现代码,并在您认为有错误或应该显示该值的节点上触发。

于 2021-08-26T19:15:51.027 回答
0

当前 URL 按 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;}
}
于 2015-10-14T02:10:13.053 回答
0

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

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

要获取您需要使用的 current 和 rowCount

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

顺便说一句,Get 不起作用(我认为它是 Bootgrid 错误),所以我将其更改为 POST。

于 2015-10-20T22:57:48.823 回答