Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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 可以在该页面之后获取完整的html';谁完成了调整?_Javascript_Jquery - Fatal编程技术网

Javascript 可以在该页面之后获取完整的html';谁完成了调整?

Javascript 可以在该页面之后获取完整的html';谁完成了调整?,javascript,jquery,Javascript,Jquery,有没有一种方法可以在页面上执行ajaxget,并在页面上的所有脚本完成内容调整后检索最终版本的HTML 现在,如果我使用添加到HTML的脚本在页面上执行GET,它将提供完整的HTML,就像添加额外内容之前一样 因此,如果有javascript在该页面上生成特定的表,GET将不会返回该表。因为它在该页面的脚本生成之前不存在 在页面上的任何内容改变了页面的HTML之后,您如何get()该页面的HTML成品?AJAX调用只会返回服务器返回的内容, 但是您可以做的是在DOM中删除响应(数据),这将导致j

有没有一种方法可以在页面上执行ajaxget,并在页面上的所有脚本完成内容调整后检索最终版本的HTML

现在,如果我使用添加到HTML的脚本在页面上执行GET,它将提供完整的HTML,就像添加额外内容之前一样

因此,如果有javascript在该页面上生成特定的表,GET将不会返回该表。因为它在该页面的脚本生成之前不存在


在页面上的任何内容改变了页面的HTML之后,您如何
get()
该页面的HTML成品?

AJAX调用只会返回服务器返回的内容, 但是您可以做的是在DOM中删除响应(数据),这将导致javascript运行,然后您可以使用jQuery取出内容, 见下文:

$.get("data.html",function(data){
  //insert the response in a hidden div that will cause js to run and apply changes
  var $container = $("<div>").html(data);
  var newData = $container.html();
  //newData will hold the final html 
});
$.get(“data.html”,函数(数据){
//在一个隐藏的div中插入响应,这将导致js运行并应用更改
var$container=$(“”).html(数据);
var newData=$container.html();
//newData将保存最终的html
});
注意:实际的
script
元素将不在
newData


希望这能有所帮助

不,ajax是用于与服务器通信的,不能这样做。JavaScript所做的工作是在客户端浏览器中完成的。使用服务器端语言(PHP f.e.)处理文件中的修改不是更好吗?@Pieter我想问题是关于使用客户端代码创建/修改内容的页面。@Bicara将在服务器上处理Ajax请求。所有客户端代码(如Javascript)都将由浏览器处理,因此当您使用Ajax请求时,它将不会显示。@Bicara如果您想要的是已完成的文本,您可以在DOM中删除响应,这将导致Javascript运行(&修改页面),然后使用jQuery获取内容