【问题标题】:406 on loading of script from my mvc从我的 mvc 加载脚本时出现 406
【发布时间】:2014-10-16 23:15:15
【问题描述】:

在我的 mvc 应用程序中,当我的 cshtml 文件尝试加载 js 文件时,我得到 406。 像这样的

GET http://localhost/Scripts/App/Dashboard.js?_=1408764995728
406 Not Acceptable

请求标头说: 接受:application/json

而响应标头说; 内容类型:文本/html;字符集=utf-8

如果我在邮递员上运行相同的操作,我会得到带有响应头的结果 内容类型→应用程序/javascript

这方面的任何线索。

【问题讨论】:

  • 向我们展示 Dashboard.js 文件。
  • 这是由于在少数流的情况下使用 json 接受类型显式指定标头而发生的。
  • 你在传递json数据吗?

标签: javascript asp.net-mvc model-view-controller


【解决方案1】:

请先检查一下 Asp.net content negotiation 是什么:

“选择最佳的过程 当有多个给定响应时的表示 可用的表示。”

您很可能会收到 HTTP 错误 406(不可接受),因为没有为您的请求标头(应用程序/json)中指定的格式找到格式化程序。

  • 您可以遍历所有注册的格式化程序(GlobalConfiguration.Configuration.Formatters)并检查是否有应用程序/json的格式化程序。
  • 注册 json 格式化程序。

【讨论】:

    猜你喜欢
    • 2017-08-24
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多