在FF和所有,我的JavaScript工作正常.但在Chrome中,它会显示以下消息:
资源解释为脚本,但使用MIME类型text/plain进行传输.
我检查了所有的脚本标签,他们都有MIME type="text/javascript"
.它甚至用jquery和jquery ui这样说.Chrome有什么问题?
有什么问题和解决方法?这是我必须在浏览器的"选项"中更改的内容,还是来自服务器,还是我必须调整代码?
我编写了ASP.NET(4.0)代码,如果发布到服务器的数据有效,则将Response.StatusCode设置为400.
我以请求接受标头要求的格式在响应正文中放置有用的信息.例如,一条html消息说"需要日期字段......".
在Windows 7上的IIS7(7.5.7600)中,我将正确的html响应返回给浏览器.
在Windows 2008上的IIS7(7.5.6000)中,我没有得到html主体,但只有一个带有"错误请求"的文本正文作为内容.
有人能指出我如何更改2008服务器的配置以返回正文.
或者这些版本的IIS之间有区别吗?
也许是Machine.config中的一个模块?
例如,我知道(并且必须解决)FormsAuthentication模块将401更改为302,即使您不想这样做.可能有一个模块停止发送400的内容.
TIA.
在我的 MVC 应用程序中,当一个 POST 请求被发送到服务器(通过 jQuery)并且发生验证错误时,会返回一个 400 Bad Request,正如预期的那样:
HTTP/1.1 400 Bad Request
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
Date: Thu, 26 Feb 2015 08:35:50 GMT
Content-Length: 174
{"ReturnValue":null,"Results":[{"Message":"The xyz field is required.","ErrorNumber":123,"Severity":1}]}
Run Code Online (Sandbox Code Playgroud)
这在我的本地机器上按预期工作。但是,当我将应用程序部署到服务器时,完全相同的请求的响应看起来不同:
HTTP/1.1 400 Bad Request
Cache-Control: private
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
Date: Thu, 26 Feb 2015 08:37:01 GMT
Content-Length: 24
Invalid Request
Run Code Online (Sandbox Code Playgroud)
请注意,内容类型为text/html
,并且响应正文不再包含 JSON。
这可能是什么原因?我会很感激一个指针从哪里开始调试。