gpt4 book ai didi

javascript - 在新窗口中显示 View

转载 作者:行者123 更新时间:2023-12-03 11:27:48 24 4
gpt4 key购买 nike

我开发了一个 ASP.NET MVC 应用程序,它将根据用户输入运行多个预屏功能。

计划是从现有的 HTML/JavaScript 应用程序调用这个新的 mvc 应用程序。我想在调用应用程序之外的新浏览器窗口中显示 Controller 的 View 。

我的 AJAX 调用将如下所示

$.support.cors = true;

$.ajax( {
url: "http://mvc_url/prescreen",
data: jsonObject,
type: "POST",
processData: false,
dataType: 'html',
contentType: "application/json; charset=utf-8",
timeout: 60000,
//dataType: "json",
success: function ( msg )
{
...on success msg = html rendered from view...
},
error: function ( XMLHttpRequest, textStatus, errorThrown )
{
...error handling...
}
} );

我已经对此进行了测试,成功后消息确实包含 View 中完全呈现的 HTML。我的问题是如何使用渲染的 HTML 打开一个新窗口?

我尝试过以下方法:

var newWindow = window.open( "", "", "" );
newWindow.document.write( msg );

这似乎有效。有点。新窗口打开并显示 html,但随后我的 View 样式表和包含的 javascript 文件丢失了。因此,如果使用上面的 window.open 代码是正确的,那么我该如何获取必要的样式表和 javascript 文件呢?

EDIT

利用 AndyJ 提供的建议,我修改了 View 以包含基于我的基本应用程序的相对路径。这是我的 MVC 返回的标记

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Offer</title>

<link href="../css/site.css", type="text/css" rel="stylesheet" />

</head>
<body>
<div class="container body-content">

... Page Content ...

<script src="/baseapp/Scripts/jquery-1.8.2.js" type="text/javascript"></script>
<script src="/baseapp/js/someInclude.js" type="text/javascript"></script>

<script type="text/javascript">
InitializeForm();
</script>

InitializeForm 方法是在 someInclude.js 中定义的。

根据上述内容并假设文件位于路径中,所有内容都应该链接起来,对吗?那么我还可能做错什么?

最佳答案

除了 Andy J 提供的帮助(谢谢)之外,我还发现当在新窗口中呈现响应时,JQuery 库正在我的初始化脚本之后加载。为了避免这种情况,我只是将事件处理程序添加到控件的内联属性中。

这可能是一种解决方法,但目前它似乎对我有用。

关于javascript - 在新窗口中显示 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com