设置MVC帖子后在JavaScript中打开的新窗口的ContentType

Set ContentType of new window opened in JavaScript following MVC post

本文关键字:新窗口 窗口 ContentType MVC JavaScript 设置      更新时间:2023-09-26

我需要打开一个新窗口,并在点击链接时将内容设置为MVC控制器上的帖子所确定的内容。以下是我目前的做法。

jQuery.ajax({
        type: "POST",
        url: '/controller/mycontroller',
        data: { mydata: data },
        error: function (xhr, status, error) {
        },
        success: function (response) {
            win_detail = window.open('', 'name');
            win_detail.document.write(response);
        }
    });

控制器当前正在处理页面上应该出现的html,并将其放入ViewBag中。它也把什么反应。ContentType应在ViewBag中。我的mycontroller.chtml我有这样的东西。

@{
Response.ContentType = ViewBag.ContentType;
}
<head></head>
<body>
@ViewBag.MyHtml
</body>

这实际上并没有设置ContentType。有人知道我该怎么做吗?我可以改变我的整个结构来实现这一点。

如果没有其他原因,我会尝试使用GET请求,只打开给定URL的窗口。

win_detail = window.open('/controller/action?mydata=' + data, 'name');

根据您的数据,您可能需要对其进行不同的序列化。

var form_data = $('form').serialize();
win_detail = window.open( '/controller/action?' + form_data, 'name');

不要通过ViewBag将ContentType传递给视图,而是在返回之前尝试在控制器中设置它。