繁体   English   中英

为什么Internet Explorer(8)认为这是XML

[英]Why is Internet Explorer (8) thinking this is XML

这是从服务器(使用Fiddler2)生成的原始响应。

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/plain; charset=utf-8
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
MicrosoftOfficeWebServer: 5.0_Pub
MS-Author-Via: MS-FP/4.0
Date: Fri, 10 Dec 2010 18:19:18 GMT
Content-Length: 594

Contents of 24194_XXXXXXXXXX.log as of 10/12/2010 19:19:18
w3wp.exe Information: 0 : START: New Alarm [9]
w3wp.exe Information: 0 : 12/10/2010 19:14:56 - <?xml version="1.0"?>
<CALLS>
  <CALL>
    <CALL_ID>9_1</CALL_ID>
    <BODY>004|007|015|058|1_ToConfirm|2_ToDecline</BODY>
    <LANGID>321</LANGID>
    <TO1>99999999999</TO1>
    <TO2 />
  </CALL>
</CALLS>
w3wp.exe Information: 0 : END: New Alarm [9]
w3wp.exe Information: 0 : 12/10/2010 19:15:30 - <RESULT><CALL_ID>9_1</CALL_ID><CALLRESULT1>0</CALLRESULT1><DTMF1>2</DTMF1><CALLRESULT2></CALLRESULT2><DTMF2></DTMF2></RESULT>

在我的asp.net IHttpHandler中设置

           context.Response.ContentType = "text/plain";

它显然正在返回。 在IE8中,我看到了这一点: IE8试图变得聪明...

尝试将目标另存为...时,出现以下提示(请注意另存为:) 替代文字

IE因猜测内容类型而臭名昭著。 大概他们在做内容嗅探,而<?xml version="1.0"?>正在触发它。

尝试使用不同于文本/纯文本或应用程序/八位字节流的其他内容类型,以查看是否获得相同的行为。 看起来它只对这两种类型进行嗅探,以尝试解决配置错误的Web服务器:

另请参见http://msdn.microsoft.com/en-us/library/ms775147(VS.85).aspx#introduction

它正在查看其中包含xml的实际内容:

<?xml version="1.0"?>

很容易理解为什么当您没有任何html元素(例如html,head或body)时。 如果希望xml以文本形式显示,则需要将其包含在html中,并正确地避开标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM