javascript:发送带有音频文件的POST,然后重定向到新页面
javascript: send POST with audio file and then redirect to a new page
这是我所拥有的。
/上传>将现有的本地音频文件上传到/post_receiver通过post请求
/post_receiver>接收post请求并响应HTML页面
/record>录制要下载到本地或上载到的音频文件/post_receiver通过AJAX post请求
它们运行良好,但我不想使用AJAX。我更喜欢一个新的HTML页面。我知道如何通过document.createElement("form")、document.body.appendChild()和submit()使用传统表单。但是,它似乎无法像FormData那样保存音频文件。顺便说一下,我的服务器是AmazonEC2上的node.js,但我认为它没有关联。
来自的非AJAX POST/记录
<form method="POST" action="/audio" enctype="multipart/form-data">
<input type="file" name="audio" value="blob:address" filename="audio.wav">
</form>
Cannot read property 'filename' of undefined
TypeError: Cannot read property 'filename' of undefined
at router.get.html (./routes/index.js:11:74)
at Layer.handle [as handle_request] (./node_modules/express/lib/router/layer.js:95:5)
at next (./node_modules/express/lib/router/route.js:131:13)
at Object.<anonymous> (./node_modules/multer/lib/make-middleware.js:52:37)
at Object.immediate._onImmediate (timers.js:348:16)
at processImmediate [as _immediateCallback] (timers.js:330:15)
------WebKitFormBoundaryxh3BZE3s5vvxVQ1n
Content-Disposition: form-data; name="audio"; filename=""
Content-Type: application/octet-stream
------WebKitFormBoundaryxh3BZE3s5vvxVQ1n--
AJAX POST来自/记录或POST/上传
<form action="/audio" method="post" enctype="multipart/form-data">
<input type="file" name="audio" required="">
<button type="submit">Submit</button>
</form>
------WebKitFormBoundary47iCp5HAMwe089e4
Content-Disposition: form-data; name="audio"; filename="audio.wav"
Content-Type: audio/wav
------WebKitFormBoundary47iCp5HAMwe089e4--
下面的技巧有效,但它仍然在同一页上,这不是我想要的。
document.open();
document.write(<XMLHttpRequest>.responseText);
document.close();
另外,像socket/stream/session/cookies这样的东西有点过头了。我只是想保持简单,我希望有一种方法可以将FormData作为请求发送,并让浏览器直接处理来自服务器的响应。如果这是不可能的,那么请让我知道一个简单的方法来实现这一点。
感谢任何想法和建议。非常感谢。
我遇到了同样的问题,这就是我最终要做的。我将POST处理程序从返回重定向更改为在正文中返回带有重定向URL的响应。然后我就这样做了(而不是写文档技巧):
redirectURL = <XMLHttpRequest>.responseText;
window.location = redirectURL;
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- Jquery POST未填充数组
- javascript:发送带有音频文件的POST,然后重定向到新页面
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 在javascript中获取 http.post,然后发送响应
- 自动添加然后POST的HTML表单
- CSS在第一次点击jQuery.post提交时没有应用,然后在随后的点击中没有更新
- 使用$.post()将PHP数组发送到jQuery,然后循环使用这些值
- 执行 ajax 同步 POST 然后提交表单的正确方法
- 使用 Ajax POST 查询 MVC 控制器,然后使用模型重定向
- javascript重定向到带有表单操作post的页面,然后返回到带有输入值的上一页
- 如何从javascript中POST,然后使用POST响应进行更新
- 如何让表单字段动态相乘,然后通过post方法提交
- 使用java脚本将数据从网站a传递到网站b,然后用作post查询
- 如何使用javaScript向组合添加数据,然后使用POST进行选择
- 如何将额外的req.body属性添加到实际的post请求中,然后用express重定向
- 将数据发送到php(form-method=post),然后将其发送回javascript
- 如何将 JavaScript 输出作为 POST 请求传递给 PHP?[使用 js 获取 TZ,然后发送到 mySQL]
- 在JQuery中通过POST传递一个数组,然后用Flask读取它
- Ajax post工作一次,然后再次工作,但不是异步的