Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax函数未返回预期的输出_Javascript_Ajax_Asp.net Mvc 4_Model View Controller - Fatal编程技术网

Javascript ajax函数未返回预期的输出

Javascript ajax函数未返回预期的输出,javascript,ajax,asp.net-mvc-4,model-view-controller,Javascript,Ajax,Asp.net Mvc 4,Model View Controller,控制器正在返回: return Json(new { html = "<html><body>HELLO</body></html>" },JsonRequestBehavior.AllowGet); 返回Json(新的{html=“HELLO”},JsonRequestBehavior.AllowGet); 这只是一个字符串“HELLO” 我的json函数如下所示: function callPrint() { var Pri

控制器正在返回:

return Json(new { html = "<html><body>HELLO</body></html>" },JsonRequestBehavior.AllowGet);
返回Json(新的{html=“HELLO”},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;
    }
函数callPrint(){
var PrintCssContent=“”;
$.ajax({
url:'@url.Action(“GetHtmlString”,“行程”,new{area=“Travel”}),
数据类型:“文本”,
成功:功能(数据){
警报(数据);
WinPrint.document.write(数据);
WinPrint.document.write(DivMainContent.innerHTML.toString());
WinPrint.document.write(“”);
WinPrint.document.close();
WinPrint.focus();
print.print();
WinPrint.close();
},
错误:函数(){
警报(“错误”);
}
});
返回false;
}
但json警报将返回如下内容: {“html”:“\u003chtml\u003e\u003cbody\u003eHELLO\u003c/body\u003e\u003c/html\u003e”}


如何使用my json函数简单地返回“HELLO”?

您需要使用
json.Parse
返回json数据。将您的
警报
语句更改为

 var parseData = JSON.parse(data);
 alert(parseData.html);

希望这有帮助

您需要使用
JSON.Parse
返回JSON数据。将您的
警报
语句更改为

 var parseData = JSON.parse(data);
 alert(parseData.html);

希望这有帮助

您需要将结果转换为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;
}
函数callPrint(){
var PrintCssContent=“”;
$.ajax({
url:'@url.Action(“GetHtmlString”,“行程”,new{area=“Travel”}),
数据类型:“文本”,
成功:功能(数据){
var dataParsed=JSON.parse(数据);
WinPrint.document.write(“”);
WinPrint.document.write(dataParsed.html);
//WinPrint.document.write(DivMainContent.innerHTML.toString());
WinPrint.document.write(“”);
WinPrint.document.close();
WinPrint.focus();
print.print();
WinPrint.close();
},
错误:函数(){
警报(“错误”);
}
});
返回false;
}

您需要将结果转换为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;
}
函数callPrint(){
var PrintCssContent=“”;
$.ajax({
url:'@url.Action(“GetHtmlString”,“行程”,new{area=“Travel”}),
数据类型:“文本”,
成功:功能(数据){
var dataParsed=JSON.parse(数据);
WinPrint.document.write(“”);
WinPrint.document.write(dataParsed.html);
//WinPrint.document.write(DivMainContent.innerHTML.toString());
WinPrint.document.write(“”);
WinPrint.document.close();
WinPrint.focus();
print.print();
WinPrint.close();
},
错误:函数(){
警报(“错误”);
}
});
返回false;
}


很抱歉,AJAX函数只能返回“HELLO”,您应该返回一个json,其
html
等于“HELLO”。您可以将其包装在HTML标记中。进一步使用
data.html
我将从我的mvc控制器ActionResult返回整个html页面。因此,首先我尝试返回Json(new{html=“HELLO”},JsonRequestBehavior.AllowGet);仅用于测试目的。我可以给出的一个技巧是在控制台中编写输出。firefox和chrome都提供带有详细视图的日志。您可以很容易地理解从ajax响应中得到了什么。Ex-console.log(数据);如果我删除了警报(parseData.html);我想用window.print打印数据,而不是在警报框中显示数据。那么我该如何实现这一点呢?对不起,这是AJAX函数,只返回“HELLO”,您应该返回一个json,其中
html
等于“HELLO”。您可以将其包装在HTML标记中。进一步使用
data.html
我将从我的mvc控制器ActionResult返回整个html页面。因此,首先我尝试返回Json(new{html=“HELLO”},JsonRequestBehavior.AllowGet);仅用于测试目的。我可以给出的一个技巧是在控制台中编写输出。firefox和chrome都提供带有详细视图的日志。您可以很容易地理解从ajax响应中得到了什么。Ex-console.log(数据);如果我删除了警报(parseData.html);我想用window.print打印数据,而不是在警报框中显示数据。那么我如何才能实现这一点呢?它返回:[object]他不需要在这里解析。他有一个JSON和一个包含HTML标记的字段,所以他只需要
data.HTML
就可以了appended@whitelettersinblankpapers但是他的JSON(正如他在这里提到的)中有unicode字符<代码>{“html”:“\u003chtml\u003e\u003cbody\u003eHELLO\u003c/body\u003e\u003c/html\u003e”}我们需要在显示之前对其进行分析。@rohit更新了我的答案。请检查。是的,我必须解析unicode字符。让我检查你的解决方案。它返回:[object]他不需要在这里解析。他有一个JSON和一个包含HTML标记的字段,所以他只需要
data.HTML
就可以了appended@whitelettersinblankpapers但是他的JSON(正如他在这里提到的)中有unicode字符<代码>{“html”:“\u003chtml\u003e\u003cbody\u003eHELLO\u003c/body\u003e\u003c/html\u003e”}我们需要在显示之前对其进行分析。@rohit更新了我的答案。请检查。是的,我必须解析unicode字符。让我检查一下您的解决方案。它返回“undefined”奇怪,请尝试数据['html']或数据[0]。html//不太可能最后一个想法是var parsedData=JSON.parse(data);如果删除警报(parseData.html),则发出警报(parsedData.html);我不想在警报框中显示数据,而是想使用window.print打印。那么我该如何实现这一点?它返回“未定义”奇怪,请尝试数据['html']或数据[0]。html//不太可能的最后一个想法是var parsedData=JSON.parse(data);如果删除警报(pa),则发出警报(parsedData.html)