Javascript XMLHttpRequest上传属性的好处到底是什么?
我试图弄清楚upload属性在Javascript XMLHttpRequest上传属性的好处到底是什么?,javascript,upload,xmlhttprequest,progress,addeventlistener,Javascript,Upload,Xmlhttprequest,Progress,Addeventlistener,我试图弄清楚upload属性在XMLHttpRequest对象中的确切作用。在我看来,不管有没有它,xhr事件侦听器都会监视xhr.send(文件) 我查看了W3C,发现: “upload属性必须返回关联的XMLHttpRequestUpload对象。” 但我不明白这与使用xhr.upload.addEventListener(“progress”,progressFunction,false)有什么关系自xhr.addEventListener(“progress”,progressFunct
XMLHttpRequest
对象中的确切作用。在我看来,不管有没有它,xhr
事件侦听器都会监视xhr.send(文件)
我查看了W3C,发现:
“upload属性必须返回关联的XMLHttpRequestUpload对象。”
但我不明白这与使用xhr.upload.addEventListener(“progress”,progressFunction,false)有什么关系代码>自xhr.addEventListener(“progress”,progressFunction,false)代码>也会做同样的事情
我这样问是因为我想为上传的进度创建自定义图形……我不打算使用HTML5进度元素或jquery。客户端严格使用Javascript。如果将事件附加到xhr
本身,则仅在上载完成时更新“进度”
xhr
对象与专门用于上载的对象之间存在差异。根据“下载事件在XMLHttpRequest
对象本身上触发(…)上载事件在XMLHttpRequest.upload
对象上触发”。我不确定它们是否完全相同。XMLHttpRequestUpload
object!=XMLHttpRequest
object哇,奇怪……我想既然upload是XMLHttpRequest对象的一个属性,它们就属于同一个对象
它们不是同一个对象——根据Chrome的说法,在类型检查中,upload
实际上是一个XMLHttpRequestUpload
对象。它也不扩展.open
、.send
等方法。它是一个对象,订阅本机级别(特定于浏览器)代码的进度,并调用其事件订阅者的更新(如onprogress | onload start | onload end | onload | onerror | onabort
)。我认为,就终端用户而言,这几乎就是它的全部工作。但是它又开始重做XHRAPI了,我想知道更多关于这个主题的信息,特别是一个包含细节的参考链接。我没有在MDN上看到任何东西。