Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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对象写入文档。未能执行';写';在';文件';_Javascript_Html_Object_Document.write - Fatal编程技术网

如何将Javascript对象写入文档。未能执行';写';在';文件';

如何将Javascript对象写入文档。未能执行';写';在';文件';,javascript,html,object,document.write,Javascript,Html,Object,Document.write,我正在为学校做一个非常基本的javascript练习,练习对象。我原以为普通的document.write可以工作,但实际上不行,我看了很多地方,但很多都是为了控制台。 错误是 未能对“文档”执行“写入”:除非显式打开,否则无法从异步加载的外部脚本写入文档 如果有人能帮忙,那就太好了,如果真的很容易的话,那就很抱歉了 这是我的密码 var oPerson={ 名字:“约翰”, 姓氏:“特拉维斯”, 性别:'男性', 年龄:22,, 地区:'北岸', 发型颜色:“棕色”, 头发长度:“短”, 高

我正在为学校做一个非常基本的javascript练习,练习对象。我原以为普通的document.write可以工作,但实际上不行,我看了很多地方,但很多都是为了控制台。 错误是

未能对“文档”执行“写入”:除非显式打开,否则无法从异步加载的外部脚本写入文档

如果有人能帮忙,那就太好了,如果真的很容易的话,那就很抱歉了

这是我的密码

var oPerson={
名字:“约翰”,
姓氏:“特拉维斯”,
性别:'男性',
年龄:22,,
地区:'北岸',
发型颜色:“棕色”,
头发长度:“短”,
高度:“6英尺11英寸”,
重量:“74公斤”,
军事状态:“订婚”
}
文件编写(oPerson);
文件编写(操作区);
oPerson.resident=“是”;
文档。写入(操作);

练习-个人信息
读取HTML时正在执行document.write()调用。加载DOM时,您的消息不再可见。请尝试以下操作:

setTimeout(() => document.write(oPerson.lastName), 1000);

不建议使用
文档。编写
,因为它必须在加载页面之前执行。它也会在添加的HTML位置执行。因此,对于您的代码,它将添加到页面的
标题,而不是
正文。
如果只想在HTML中添加一些内容,可以使用
document.appendChild`。在创建新元素的地方,提供一些必要的信息并将其附加到正文中

e、 g


如果您真的想使用文档写入,那么将脚本从头部移动到正文。然后,
document.write
应该在那里执行。

我不确定您想做什么,但如果只发布对象的内容而不设置任何格式,这可能对您有用

var oPerson={
名字:“约翰”,
姓氏:“特拉维斯”,
性别:'男性',
年龄:22,,
地区:'北岸',
发型颜色:“棕色”,
头发长度:“短”,
高度:“6英尺11英寸”,
重量:“74公斤”,
军事状态:“订婚”
}
var app=document.getElementById('app');
app.innerHTML=JSON.stringify(oPerson)


您的代码正在工作,它需要显示整个对象内容。那么,关于
在“文档”上执行“写入”失败的所有讨论是什么呢
?问题是错误还是输出不正确?我所说的“不正确”是指“不是您所期望的”,因为打印的内容对于您编写的代码是正确的。使用开发工具并在显示错误的语句上设置断点。我编写的代码应该将对象显示为一个整体。您的代码不显示对象,因为您需要使用JSON.stringify将对象转换为字符串-document.write(JSON.stringify(oPerson))它可以将对象显示到控制台,但我尝试在控制台上显示它site@Dale如果你不能调整,你在做什么编程?这只是一个课堂练习,当显示一个对象时,出于这些目的,它需要出现在屏幕上。否则,我将打印对象的特定部分通常在没有计时器的情况下工作,当想要将对象显示为一个整体时,计时器不会产生任何影响。然后,我将尝试将对象作为文本附加到HTML中。{document.getElementsByTagName('body').innerHTML(oPerson.lastName);}足够好了,哈哈。我不想要语音标记和花括号,但没关系
function printToBody( str ) {
  var par = document.createElement( 'p' );
  par.innerText = str;
  document.getElementsByTagName( 'body' )[0].appendChild( par );
}

var oPerson = {
  firstName: 'John',
  lastName: 'Travis',
  age: 22
}

printToBody( oPerson.firstName )
printToBody( oPerson.lastName )
printToBody( oPerson.age )