Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Web API无法处理我不知道正在发送的参数?_Asp.net Mvc_Jquery_Knockout.js_Asp.net Web Api - Fatal编程技术网

Asp.net mvc Web API无法处理我不知道正在发送的参数?

Asp.net mvc Web API无法处理我不知道正在发送的参数?,asp.net-mvc,jquery,knockout.js,asp.net-web-api,Asp.net Mvc,Jquery,Knockout.js,Asp.net Web Api,因此,我闪亮的新单页应用程序正在自我崩溃,因为一个500错误似乎是由以下API调用引起的:/API/fuel/?\uux=123123。这对我来说非常令人惊讶,因为我无法想象为什么应用程序会从一开始就进行这样的API调用;在我的控制器上没有这样的参数,我当然也不建议任何人要求那个表单的URL 该错误在页面加载其viewmodel时发生。它应该是从数据库中加载项,并通过ajax调用将它们作为JSON分流回Knockout.js,以嵌入某个HTML中;有很多代码涉及,我几乎没有写过,所以 以前有人见

因此,我闪亮的新单页应用程序正在自我崩溃,因为一个500错误似乎是由以下API调用引起的:/API/fuel/?\uux=123123。这对我来说非常令人惊讶,因为我无法想象为什么应用程序会从一开始就进行这样的API调用;在我的控制器上没有这样的参数,我当然也不建议任何人要求那个表单的URL

该错误在页面加载其viewmodel时发生。它应该是从数据库中加载项,并通过ajax调用将它们作为JSON分流回Knockout.js,以嵌入某个HTML中;有很多代码涉及,我几乎没有写过,所以

以前有人见过这个吗?有人知道这个长得离谱的数字是从哪里来的吗?为什么它会出现在我的URL上?这就是我要找的机器人吗

更新:

我破解了OpenFiddler,看起来问题可能与传递的参数无关,是会话ID、验证令牌还是诸如此类的废话?。我得到的500条回复还包括一些关于他们如何只需要无参数构造函数的胡言乱语。看来我需要再看看我的模型

更新2:

好吧,也许你们知道这会发生,但我不敢相信是什么解决了这个问题:显然,Web API不喜欢你们这么做;我加了一句。一个可计算的。订单下降了,突然一切都好了

return db.FuelItems
    .Where(f => 
        f.UserId == cachedUserId
        //&& f.Date >= startDate 
        //&& f.Date < endDate)
        )
    .OrderByDescending(f => f.Date)
    .AsEnumerable()
    .Select(f => new FuelItemDto(f));
这个。。。。由ajax调用添加,以防止缓存响应。数字部分是以毫秒为单位的时间戳,因此它总是变化的。假设u永远不会是查询字符串中的实参数,因此它不会影响您的请求。但是,它保证查询字符串总是不同的,这会阻止浏览器缓存它


请参阅:,关于缓存选项的部分。

如果没有看到ajax查询,很难说是什么导致了这个问题。FuelController的Get方法预期的参数是什么?无。虽然有两种获取方法,但这本身就是一个问题吗?第二个正在寻找ID,但第一个根本不想要任何东西。你能发布代码吗?我会发布你喜欢的任何特定代码,但这是一个新的MVC模板,我们正在讨论。。。嗯,总共大约一千行?@archer884不,那应该不是问题。我最好的猜测是,开发JavaScript代码的人没有为您的API方法构建正确的URL。也许在js代码中快速按住Ctrl+F组合键可以使用$。ajax可能是一个很好的开始。