我正在使用Razor视图引擎处理ASP.NET MVC4项目。 我需要打开一个外部网页服务器端,并在加载后将其呈现给客户端。关键是网页和服务器必须位于同一个域(出于安全原因),这对客户端无效。 是否可以打开服务器中的链接,然后将其呈现给客户端,使其看起来像原始页面(包括所有脚本内容)?
答案 0 :(得分:0)
您可以向远程位置(WebClient.DownloadString
)发送HTTP请求,然后将结果返回给客户端。基本上,这将为您提供远程网页的内容作为字符串。根据您希望向用户呈现的确切方式,可能会有不同的方法。例如,您可以在删除可能存在的<div>
,<html>
和<head>
标记并获取内部内容后将其注入当前视图的某些<body>
的身体。您可以使用HTML Agility Pack库来解析远程页面的内容,并仅提取必要的部分。
答案 1 :(得分:0)
如果我理解你要完成的任务,你可以使用AJAX和CORS
例如:
alert(formData);
$.support.cors = true;
$.ajax({
url: "http://localhost:89/API/Values",
type: "POST",
crossDomain: true,
data: formData,
dataType: "html",
success: function (result) {
alert('Server Side call Completed: Successful');
$('#Result').html(result);
},
error: function (jqXHR, tranStatus, errorThrown) {
alert('Error');
}
});