Json结果包含在pre标签中 - 如何获得它的价值

时间:2011-09-26 18:22:58

标签: javascript asp.net-mvc json

这是我第一次使用json。我试图从我的动作方法返回Json:

public JsonResult Upload()
{
   ...
   return Json(new { foo = "sos....sos....sos..."});
}

但结果我得到的是这个“pre”标签中的消息换行。如何解析“foo”?

"<pre style="word-wrap: break-word; white-space: pre-wrap;">{"foo":"sos....sos....sos..."}</pre>"

3 个答案:

答案 0 :(得分:13)

我认为您接收包含在pre标签中的数据的原因是因为您要求将数据作为HTML而不是纯文本或json。

尝试将数据类型指定为json以停止将响应转换为HTML。

答案 1 :(得分:3)

这将返回带有“yourclass”类的第一个pre标记的内容。

document.querySelector("pre.yourclass").innerHTML

答案 2 :(得分:0)

客户端的处理程序可能正在尝试确保服务器的响应是格式良好的HTML。我相信一些支持文件上传的javascript库会在你描述的标记中包含非HTML repsonses。一个非常不直观的解决方案可能是将服务器上的mimetype设置为“text / html”,这样ajax处理程序就不会尝试包装响应。