Javascript 向表单提交添加自定义标题
我在我的一个项目中使用angular 4,我有一个方法可以动态创建表单元素并提交它Javascript 向表单提交添加自定义标题,javascript,angular,javascript-objects,angular4-httpclient,Javascript,Angular,Javascript Objects,Angular4 Httpclient,我在我的一个项目中使用angular 4,我有一个方法可以动态创建表单元素并提交它 postToUrl(path, params, method) { method = method || 'post'; let form = document.createElement('form'); form.setAttribute('method', method); form.setAttribute('action', path);
postToUrl(path, params, method) {
method = method || 'post';
let form = document.createElement('form');
form.setAttribute('method', method);
form.setAttribute('action', path);
for (let key in params) {
if (params && params.hasOwnProperty(key)) {
let hiddenField = document.createElement('input');
hiddenField.setAttribute('type', 'hidden');
hiddenField.setAttribute('name', key);
hiddenField.setAttribute('value', params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
setTimeout(() => {
document.body.removeChild(form);
}, 2000);
}
我想做的是为请求设置一个自定义头,这样我就可以附加服务器所需的所有头。有没有什么方法可以为它编写一个通用的拦截器,这样我就不必重复这些行了。请帮忙。非常感谢您的帮助。我无法完全理解您的需求,但如果您使用angular,则可以通过HTTPClient模块添加和截取标题(客户端) 这是另一个可能对你有帮助的答案
你为什么要这样做?即使你没有使用Angular,这个post调用也是为了下载一个巨大的文件。我想把控制权交给浏览器,这样当结果出现时我就不必存储在浏览器缓存中。如果我使用angular post,我可能最终不得不使用filesaver或streamsaver,文件将存储在内存中直到下载。至少我是这么想的。我有类似的问题,我想添加自定义头,有什么想法吗?post调用是下载一个大文件。我想把控制权交给浏览器,这样当结果出现时我就不必存储在浏览器缓存中。如果我使用angular post,我可能最终不得不使用filesaver或streamsaver,文件将存储在内存中,直到下载为止。至少我是这么想的。