【发布时间】:2016-09-28 09:35:02
【问题描述】:
控制器正在返回:
return Json(new { html = "<html><body>HELLO</body></html>" },JsonRequestBehavior.AllowGet);
这只是一个字符串'HELLO'
我的json函数如下:
function callPrint() {
var PrintCssContent = "";
$.ajax({
url: '@Url.Action("GetHtmlString", "Itinerary", new { area = "Travel" })',
dataType: "text",
success: function (data) {
alert(data);
WinPrint.document.write(data);
WinPrint.document.write(DivMainContent.innerHTML.toString());
WinPrint.document.write("</body></html>");
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
},
error:function(){
alert('error');
}
});
return false;
}
但是 json alert 正在返回如下内容: {"html":"\u003chtml\u003e\u003cbody\u003eHELLO\u003c/body\u003e\u003c/html\u003e"}
如何使用我的 json 函数简单地返回“HELLO”?
【问题讨论】:
-
抱歉是AJAX功能
-
要只返回“HELLO”,您应该返回一个带有
html等于“HELLO”的json。您将其包裹在 HTML 标记中。进一步使用data.html -
我将从我的 mvc 控制器 ActionResult 返回整个 html 页面。所以首先我试图返回 return Json(new { html = "HELLO" }, JsonRequestBehavior.AllowGet);仅用于测试目的。
-
我可以给出的一个提示是在控制台中写入输出。 firefox 和 chrome 都提供带有详细视图的日志。你可以很容易地理解你从 ajax 响应中得到了什么。前 - console.log(data);
-
如果我删除警报(parseData.html);我不想在警报框中显示数据,而是想使用 window.print 打印它,那么我该如何实现呢?
标签: javascript ajax asp.net-mvc-4 model-view-controller