我有一个用于编写JSON的ASPX页面。它在Firefox和Chrome中运行良好,但是当我尝试在IE 8中使用它时,它会给我一个“无法显示XML页面”的错误,而不是允许jQuery加载响应所写的JSON。
有什么想法吗?
以下是我的代码:
protected override void OnLoad(EventArgs e)
{
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/json";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(string.Format("[ {{ \"Foo\": \"{0}\", \"bar\": \"{1}\" }} ]", "Foo Content", "Bar Content"));
Response.End();
}
答案 0 :(得分:1)
我最后通过不指定内容类型来“解决”问题。不确定为什么它不适用于上面提到的上下文类型。我已经将它用于其他事情而没有问题。
答案 1 :(得分:0)
你可以发布你正在使用的jQuery吗?问题可能存在,因为IE和Firefox处理Javascript和AJAX请求的方式存在一些差异。
从那个错误中,听起来好像IE可能试图将JSON加载为网页,而不是发出AJAX请求。
答案 2 :(得分:0)
如果你摆脱json字符串中的[]怎么办?这看起来并不必要
另外,您可以使用内置于.net的JSON序列化程序,它肯定会与ie8兼容。
System.Web.Script.Serialization.JavaScriptSerializer