这是我第一次使用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>"
答案 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处理程序就不会尝试包装响应。