强制Internet Explorer在不下载的情况下读取POST消息

时间:2013-07-12 08:28:20

标签: web-services http-headers

我有一个场景,其中客户端应用程序向asp.net页面发送POST请求,页面以json字符串响应,我需要在客户端使用该字符串。 但是,Internet Explorer正在尝试下载包含json字符串的* .aspx页面。

响应中必须包含哪些HTTP标头才能在Internet Explorer中禁用下载?

目前,响应HTTP标头是:

Access-Control-Allow-Headers:X-File-Name,X-File-Type,X-File-Size
Access-Control-Allow-Methods:GET,POST,OPTIONS
Access-Control-Allow-Origin:*
Cache-Control:private,private, no-cache
Content-Length:1050
Content-Type:application/json; charset=utf-8
Date:Fri, 12 Jul 2013 08:24:24 GMT
Pragma:no-cache
Server:Microsoft-IIS/7.5
Set-Cookie:ASP.NET_SessionId=qjudp3nct3czltyvc4yxpiri; path=/; HttpOnly
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET

1 个答案:

答案 0 :(得分:0)

这取决于您使用该Web服务的方式。

如果您是使用jQuery在网页内使用它,那应该不是问题,Internet Explorer不会强行下载该文件。

如果您在POST后直接访问该文件(重定向到提供JSON的URL)并且您希望将JSON显示为纯文本,则必须将Content-Type设置为text / plain;字符集= UTF-8