我正在尝试使用方法POST
捕获并传递页面的当前HTML代码。我正在使用:
var html_document = document.documentElement.innerHTML;
document.body.innerHTML += '<form id="myform" action="myurl.php" method="post" target="_blank"><input type="hidden" name="html_document_name" value="'+ html_document +'"></form>';
document.getElementById("myform").submit();
但在myurl.php
中,html_document
值为空。如果我尝试:
var html_document = 'test';
它正常工作。如果我试试
alert(html_document);
它正常工作。
答案 0 :(得分:1)
使用标记的jquery特定解决方案,请参阅下面的代码以捕获HTML。
var html = $("html").html();
If you want to also capture the hmtl tags you could concatenate them to the html like this:
function getPageHTML() {
return "<html>" + $("html").html() + "</html>";
}
答案 1 :(得分:0)
您的请求未及时完成,因为您没有等待它。通过警报,它是一个阻止呼叫,因此它将起作用。
使用jquery ajax处理您的请求。并在成功函数中进行处理。
$.ajax(
{
url: someUrl,
type: 'POST',
success: function (data) { someSuccessFunction(data); },
error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
});