问题标签 [xmlhttprequest-level2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
14805 浏览

ajax - XMLHttpRequest.addEventListener 与 XMLHttpRequest.upload.addEventListener

此代码块有什么区别:

还有这个:

我在博客和其他 SO 帖子中都看到了这两种实现,但没有人解释为什么它们使用一种而不是另一种。在这一点上我能找到的唯一区别是后者不适用于默认的 Android 浏览器,而前者似乎几乎适用于所有东西。

0 投票
2 回答
473 浏览

javascript - Javascript For循环减慢进度事件侦听器触发

我正在尝试根据上传进度更改元素背景颜色。我遇到的问题是,与触发的进度事件侦听器相比,for 循环速度较慢。对此我能做些什么吗?

0 投票
1 回答
1234 浏览

javascript - Android股票浏览器中没有XMLHttpRequest 2进度

我有一个使用 XMLHttpRequest 2 将文件上传到 Transloadit(文件处理服务)的工作文件上传表单。进度事件在 Firefox 和 Chrome 中正确触发,无论是桌面版还是 Android 版。但是 Android (4.0) 股票浏览器不会触发这些事件,因此我的进度条不适用于我网站的那些用户。XHR2 和 ProgressEvent 据说从 3.0 开始在 Android 中得到支持,所以我不知道发生了什么。

代码是:

0 投票
3 回答
3693 浏览

php - Ajax 文件上传在 Chrome 中有效,但在 Firefox 中无效

使用 XMLHttpRequest Level 2 我想上传一个文件。我正在使用 jQuery,所以我想优先使用 jQuery。

所以我写了以下代码(咖啡脚本,但任何熟悉 javascript 的人都应该很容易阅读)

使用该代码,在服务器端使用 PHP 我做一个`

使用 Firefox 17.0.1 我什么也得不到。$_FILES 为空,使用 Chromium 22.0 我得到了上传的文件(格式很奇怪,但至少有一些)

有谁知道这是否是 Firefox 的错误?有解决方法吗?难道我做错了什么?我搜索了一个类似的问题,但我发现的所有建议答案都不适用于我(不适用于 Firefox,没有使用 xhr 2 级等)

提前致谢。

请:我不关心 IE 或旧版本。iframe 解决方案和插件都不是。只是 XmlHttpRequest 级别 2。对于那些没有听说过的人,请查看: https ://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/FormData/Using_FormData_Objects

0 投票
1 回答
15555 浏览

javascript - xhr.upload.onprogress 不起作用

以下代码中的所有内容都将起作用,除了它永远不会触发 xhr.upload.onprogress 事件。

0 投票
1 回答
353 浏览

youtube-api - 通过 XHR2 在 Youtube 上上传视频

我的客户希望在用户在 Youtube 上上传视频时显示进度对话框。

我写的是这样的:

此代码完美启动,但当 Youtube 重定向到回调 URL 时失败。

这里请求中断并调用错误回调。

0 投票
0 回答
2634 浏览

javascript - Why is XMLHttpRequest so slow on localhost

We're developing an application that uses XMLHttpRequest for uploading files with drag&drop support. We're using a jQuery plugin for that, but it's not the issue here.

Our tester has reported that uploading files on localhost takes a serious amount of time, considering he's basically sending files to his own machine through the browser. 20 MB file was uploading about 30 seconds (!).

I was assigned to investigate the problem and I found out that the problematic thing is XMLHttpRequest. When I've forced a fallback mechanism (iframe, works but has no progress bar support), the same file our tester was uploading took less than a second.

I've written a simple testing script to see what's the deal is (it's very quick and dirty, don't judge me)

  • Average speed of uploading file to the same server: 488.3 KB/s
  • Average speed of uploading file to the remote server: 801.7 KB/s (which sounds about right considering our office internet connection)

Now my question is: why is XMLHttpRequest with binary files so slow? It looks to me like it sends the file through all our network so it passes through our router again, but Networking section in Task Manager didn't register any network activity spike (it did when uploading to the remote server though) or I am doing something wrong.

edit: As I see, any mention of keywords "jQuery plugin" makes people think in wrong terms, so:

This is enough to trigger the problem (slow upload). No jQuery, no fancy callbacks and progress bars, no chunking - three lines of code.

0 投票
2 回答
6309 浏览

javascript - JS ProgressEvent 仅在完成时触发

我在让我的上传进度条正常工作时遇到了一些问题。

根据 XMLHttpRequest Level 2 规范,我为 loadstart 和进度附加了事件侦听器,如下所示:

文件已正确上传,但仅在请求以 100% 完成后才调用进度侦听器(e.total == e.loaded)

上面的代码有什么问题还是需要以任何特殊方式配置服务器?

0 投票
2 回答
8931 浏览

ajax - 处理多个 XMLHttpRequest 调用 f

注意:我有两个 xmlHttp.open 请求,其中定义了两个不同的 url 字符串和两个 onreadystatechange 函数。我有一个包含 4 个文本框和一个提交按钮的 html 表单。用户在文本框 1(id​​) 和 2(type) 中输入数据后,我对这些框的 onchange 函数发出 xmlHttp.open("GET", url, true); 带有类似“getQuestion.php?id=12345&type=ABC”的网址。然后我的 statechange 函数获取返回的 xml 响应并将响应放入第三个文本框中。所有这些都很棒!我输入文本,文本弹出到一个框问我一个问题。

现在我尝试做的是,一旦填写了第 4 个文本框并单击了提交按钮,我希望提交函数再次使用 xmlHttp.open。这一次,有一个新的 url,在 &answer="XXXX" 的 url 行上多了一个参数,其中 XXXX 是在第 4 个框中输入的内容。之所以进行第二次 url 调用,是因为调用了新的 statechange 函数。但响应始终为空,我看到“答案是。”。我认为这一定与我没有正确设置的多个 url 有关,但我在“多个 xmlHttpRequest”的网络搜索中找不到任何内容。我附上了我的 HTML 和启动失败服务器请求的 javacode 块,它是 statechange 函数。我究竟做错了什么?还有一件事,

0 投票
0 回答
408 浏览

java - 从 Java Servlet 上传到 Google Cloud Storage 时图像损坏

我正在为 Java Servlet 开发代码来处理表单图像 POST ,并将该图像上传到 Google Cloud Storage。我可以使用 XMLHttpRequest 和 FormData 上传执行 ajax 调用 POST 的图像。我面临的是大多数时候存储的图像已损坏,无法打开。像这个(http://storage.googleapis.com/realtimevouchers/Porto_ribeira.jpg),但图像在我的文件系统上还可以。这可能是处理 servlet 代码中的流的错误吗?

这是servlet代码: