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