我收到一个简单的服务器响应,这是一个html文件,我想在iFrame中显示相同的内容而不将文件保存到我的工作区或机器。
我正在进行如下的ajax调用。
Ext.Ajax.request({
url : 'url',
method : 'POST',
success : function(response) {
var responseHtmlStr =response.responseText;
我在responseHtmlStr中获得的示例服务器响应如下所示。
<!DOCTYPE html>
<html>
<head>
<script>
function copyText()
{
alert('It is clicked');
}
</script>
</head>
<body>
Field1: <input type="text" id="field1" value="Hello World!"><br>
Field2: <input type="text" id="field2">
<br><br>
<button onclick="copyText()">Copy Text</button>
</body>
</html>
我用来创建iFrame的代码如下所示。
因为我不想将服务器响应存储在文件中的服务器中。如何直接在iFrame中提供服务器响应?
我尝试document.getElementsByTagName('iframe')[0].contentWindow.document.write(serverResponse);
,但它不能使用上面的代码。
请提出其他建议。提前谢谢。
由于 Gendaful
答案 0 :(得分:5)
使用vanilla JavaScript:
document.MyFrame.document.body.innerHTML = serverResponse
..您有<iframe name="MyFrame"></iframe>
答案 1 :(得分:0)
不确定这是否有用,我使用jquery做了类似的事情(但是可以轻松地做到这一点)......
$('iframe').contents().find("html")
.append($("<head></head><body> blah blah blah </body>"));