控制器正在返回:
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警告返回的内容如下: { “HTML”: “\ u003chtml \ u003e \ u003cbody \ u003eHELLO \ u003c /体\ u003e \ u003c / HTML \ u003e”}
如何使用我的json函数简单地返回'HELLO'?
答案 0 :(得分:1)
您需要使用JSON.Parse
来返回JSON数据。将您的alert
声明更改为
var parseData = JSON.parse(data);
alert(parseData.html);
希望这有帮助!
答案 1 :(得分:1)
你需要将结果转换为json,然后打印出来,这是代码:
function callPrint() {
var PrintCssContent = "";
$.ajax({
url: '@Url.Action("GetHtmlString", "Itinerary", new { area = "Travel" })',
dataType: "text",
success: function (data) {
var dataParsed = JSON.parse(data);
WinPrint.document.write("<html><body>");
WinPrint.document.write(dataParsed.html);
// 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;
}