gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:41:59 26 4
gpt4 key购买 nike

所以,我 Shiny 的新“单页应用程序”正在崩溃,因为 500 错误似乎是由以下 API 调用引起的:/api/fuel/?_=123123123123 。这对我来说非常令人惊讶,因为我无法想象为什么应用程序会首先进行这样的 API 调用;我的 Controller 上没有这样的参数,我当然不建议任何人询问这种形式的 URL。

页面加载其 View 模型时会发生错误。它应该从数据库加载项目,并通过 ajax 调用将它们以 JSON 形式分流回 Knockout.js,以陷入某个 HTML 中;涉及很多代码,而我几乎没有编写任何代码,所以......

有人见过这个吗?有谁知道这个长得可笑的数字来自哪里以及为什么它会被添加到我的网址上?这就是我要找的机器人吗?

更新:

我破解了 Fiddler,看起来问题可能是 A) 与传递的参数无关(是 session ID、验证 token 还是类似的垃圾?)。我收到的 500 回复还包括一些关于他们如何只需要无参数构造函数的官样文章。看起来我可能需要再看看我的模型?

更新2:

好吧,也许你们知道这会发生,但我不敢相信是什么解决了这个问题:显然,Web API 不喜欢您从 IOrderedQueryable (或类似的东西)中进行 .Select() ;我在 .OrderByDescending() 之后添加了 .AsEnumerable(),突然间一切都变得完美起来。

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 调用添加,以防止缓存响应。数字部分是时间戳(以毫秒为单位),因此它总是会变化。假设 _ 永远不会成为查询字符串中的真实参数,因此它不会影响您的请求。但是,它保证查询字符串始终不同,这会阻止浏览器缓存它。

参见:http://api.jquery.com/jQuery.ajax/ ,有关缓存选项的部分。

关于asp.net-mvc - Web API 无法处理我不知道自己正在发送的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18669419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com