问题标签 [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.
javascript - 无法使用 xhr2 和网络工作者上传文件和变量
我尝试使用 XHR2 和网络工作者创建代码来上传文件。我想我应该使用 web workers ,所以如果文件很大,网页不会冻结。
这不起作用有两个原因,我以前从未使用过网络工作者,并且我想使用相同的 xhr 同时将文件和 vars 发布到服务器。当我说 vars 时,我的意思是文件名和一个 int。
这是我得到的
客户端
工作人员内部(fileupload.js 文件)
我很困惑。我无法向服务器发送任何内容。我没有从工人那里得到任何反馈。我什至不知道数据是否发送到 fileupload.js。服务器端不插入。
可以同时发送文件和文本吗?我错过了什么?
我需要将 text 和 int 与文件一起传递,因此服务器端不仅会上传文件,而且如果文件上传成功,还会将 int 和 text 插入数据库。仅使用 formData 和 xhr 就很容易,但是,将网络工作者放在中间,我无法做到。
另外,我可以使用 Transferable Objects 来加快速度吗?所有主流浏览器都支持 Transferable Objects 吗?
提前致谢
javascript - 如何获取使用 XMLHttpRequest (XHR2) 下载的 PNG 的像素数据
我正在使用来自 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data的代码
我正在使用它下载一个 png 文件,然后我想在 Canvas 元素中显示该文件。我意识到有更简单的方法可以做到这一点,但我需要能够操作像素,所以我真的很想将像素数据放在 TypedArray 中,我也尝试使用常规 DOM Image 对象加载它,将其绘制到画布并使用 getImageData() 但它太慢(它是一个大图像) - 所以现在我正在尝试这种方法,我从负载中得到的是我假设是压缩数据,所以我的问题是 - 有没有快速的方法解压缩/膨胀此数据以获取图像像素数据,还是我尝试这个完全错误?
javascript - 无法创建 FormData 对象
我试图创建表单数据但我不能
它警报不正常
我现在应该做什么?
我检查了该对象的官方 mdn 文档,但一无所获
php - 上传超过 300K 的照片时,xmlHttpRequest 级别 2 多次启动然后失败
我不想做任何不寻常的事情,我只需要一个简单的带有 HTML5 进度条的 ajax 照片上传,所以我的代码很普通:
up.php:
一切都很顺利,除了尝试上传超过 300 KB 的照片时,进度条达到 70% 然后重新开始达到 65% 或者重新开始,最后失败了!!!
我尝试将以下内容添加到 .htaccess 文件中: php_value upload_max_filesize 20M php_value post_max_size 20M php_value max_execution_time 200 php_value max_input_time 200
但没有任何改变。
javascript - 如何知道哪个当在一个内定义了几个时提交
我想submitForm()
基于XMLHttpRequest
和实现以下简单的 JavaScript 函数FormData
。此函数在第一个上运行良好,<form>
但在第二个上失败:该函数应该使用input.formaction
而不是form.action
.
如何检测按下<input>
并检索相应的formaction
?
(大多数 SO 答案建议使用框架(如 jquery)进行此类处理。但我认为仅学习纯 JavaScript 比学习 JS 框架更容易。如果您确信可以使用框架更简单地编写此代码段,请提出你的版本。还请解释为什么你建议的框架在这种情况下是相关的/相关的/合适的。我可能决定学习你最喜欢的 JS 框架......编辑:我发现了这个类似的问题:JQuery get formaction and formmethod)
(在阅读XMLHttpRequest to Post HTML Form、使用 XMLHttpRequest 发送 POST 数据和优秀的MDN 文档之后,我已经实现了这个片段。)
javascript - 如何从我的 XHR 回调中引用 `postMessage()` 函数?
文件上传完美,我无法让progess
和load
事件回调
我在一个 JavaScript 文件中有以下内容作为我的 WebWorker 代码:
上传文件工作者.js
该函数完美运行postMessage(e.data);
。onmessage
回调postMessage(m);
中的永远不会发生。xhr.upload.addEventListeners()
在我尝试将这些函数移动到WebWorker
代码中之前,它们运行良好。
这是范围问题吗? 如果是这样,我如何为调用添加前缀以使其正常工作。?
为了完整起见,这里是我定义我的实例Worker
并开始它的方式。
同样,文件的实际上传效果很好,我不知道如何postMessage();
从回调内部xhr
调用。
javascript - 我可以使用 Angular 的 $httpBackend 测试常规 XMLHttpRequests 吗?
我有一个 AngularJS 应用程序,它需要文件上传,并且由于$http
不支持的特殊功能XMLHttpRequest.upload
,我必须使用 XMLHttpRequest 执行文件上传。
我的问题是:我可以使用 对$httpBackend
通过 发出的请求进行单元测试new XMLHttpRequest()
吗?
我做了一些测试,但目前$httpBackend
正在抛出错误。没有调用$httpBackend.flush()
它就抱怨不满意的请求,但添加flush
, 只是导致“无待处理请求”错误。
广泛使用搜索引擎并没有为我提供答案,所以你能帮我吗?
javascript - 是否可以为新的 FormData (XHR2) 对象或解决方法设置接受字符集
这是示例代码(http://jsfiddle.net/epsSZ/1/):
HTML:
JS:
当我通过标准表单提交提交这种旧方式时,请求有效负载如下所示:
但是当我提交这种 AJAX 方式时,它看起来有点不同:
如您所见,在前一种情况下,有一些字符被字符实体替换,但在使用的情况下,FormData
有纯字符串,这当然很好,因为它是 utf-8,但有没有可能让它表现得像标准表单提交?
html - 将 XMLHttpRequest 与本地文件一起使用时,CORS 是否有解决方法?
我想使用Exif.js从本地文件中读取 JPEG EXIF 标签。但是,javascript lib 用于XMLHttpRequest
将 JPG 文件读取为BinaryFile
:
当我使用时, <input type="file">
我得到一个 HTML5File
对象,我可以使用 a 读取它,FileReader
但我不知道如何将其转换为 a BinaryFile
:
但是我也使用了 AppGyver Steroids (PhoneGap),它为我的页面提供服务http://localhost/index.html
,当我尝试使用 Exif.js 时,我收到了这个 CORS 错误:
XMLHttpRequest cannot load data:image/jpeg;base64,/9j/4X2cRXhpZgAASUkqAAgAAAAOAA8BAgAKAAAAtgAAABABAgAI…N6gn14dm6BmJyMdYaMhX16hI+HgIWLj5aWkJOaiHF7hoV+dnBwc3Jzbm14hGlZcIaWlXFEU3OB. Received an invalid response. Origin 'http://localhost:4000' is therefore not allowed access.
有什么方法可以配置 XmlHttpRequest 以提供本地 File 对象而不会出现 CORS 错误?