Javascript 从页面获取html,而不是加载页面

Javascript 从页面获取html,而不是加载页面,javascript,html,Javascript,Html,我有一个按钮,可以加载带有window.open()的页面 不加载页面,是否可以在不打开页面的情况下从页面获取html?您可能希望查看AJAX请求:使用AJAX和jQuery: $.get( "myNewPage.html", function( data ) { $( "#myNewPage" ).html( data ); }); 正如其他人所说,AJAX(异步JavaScript和XML)是一条出路。像这样的库提供了一种易于使用的方法。在库之外,JavaScript有一个XMLHtt

我有一个按钮,可以加载带有
window.open()的页面


不加载页面,是否可以在不打开页面的情况下从页面获取html?

您可能希望查看AJAX请求:

使用
AJAX
jQuery

$.get( "myNewPage.html", function( data ) {
  $( "#myNewPage" ).html( data );
});

正如其他人所说,AJAX(异步JavaScript和XML)是一条出路。像这样的库提供了一种易于使用的方法。在库之外,JavaScript有一个
XMLHttpRequest
对象,您可以使用它来做同样的事情

其思想是向页面发出请求,并在某个回调中返回该页面上的标记,然后根据需要使用该标记

以下是一个例子:

var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
  if(xmlhttp.readyState==4 && xmlhttp.status==200) {
    // the ajax request is done, and the server responded with the html page
    // log the result from the ajax request
    console.log(xmlhttp.responseText);
  }
}
xmlhttp.open("GET","myPage.html",true);
xmlhttp.send(); 
编辑

如果您拥有两个域,即发出请求的域和被请求的域,那么您可以使用。这将告诉其他服务器允许来自第一个域的请求


如果你不能同时拥有这两个域名,或者不能同时访问这两个域名,那么这将变得更加困难。您可以从服务器端发出HTTP请求,也可以签出,请使用jquery加载方法

根据文件,

此方法是从服务器获取数据的最简单方法。它是 大致相当于$.get(url、数据、成功),只是它是一个 方法而不是全局函数,并且它具有隐式回调 功能。当检测到成功响应时(即当textStatus 是“success”或“notmodified”),.load()设置 将元素与返回的数据匹配。这意味着 方法可以非常简单

加载(url[,数据][,完成])

url类型:字符串;包含请求发送到的URL的字符串

数据类型: 普通物体或字符串;发送到服务器的普通对象或字符串 请求的服务器

完整类型:函数(字符串响应文本, 字符串textStatus,jqXHR jqXHR);执行的回调函数 当请求完成时

参考:

欢迎使用。您是否尝试过使用AJAX从您试图访问的页面下载信息?@ZacharyWeixelbaum此答案假设OP熟悉
jQuery
,因为我使用
jQuery.get
方法,它是
jQuery
的一部分。。。如果他熟悉
jQuery
,他会很容易理解我的示例代码需要一个由
myNewPage
标识的HTML标记作为DOM的一部分。你能用url将myNewPage.HTML子目录下吗?它似乎不适用于不在服务器上的外部url。谢谢您的建议。@Programatic如果您谈论的是外部url,那么您必须确保您试图访问的站点在其响应中返回正确的HTTP头,如下所述:总之,如果您不是此外部url的所有者,这会很复杂。也许你会想用
标记来代替。我如何使用指向不同页面的url来实现这一点?我阅读了xmlhttp请求,它们不支持跨域访问。我更新了我的答案,对此做了更多解释。如果您正在访问不同的服务器,那么事情会变得稍微困难一些,但并非不可能。这是否适用于url而不是静态网页?是的。它将与任何url一起工作。你甚至可以加载google.com