【发布时间】:2020-07-24 20:08:35
【问题描述】:
我正在使用 vanilla javascript (AJAX) 发布表单并使用 Formdata()。表单的提交被nodejs捕获并连接数据库。
问题是当我向 nodejs 发送正常数据时,我能够连接数据库并响应成功。但是,当我添加文件上传输入(以存储文件路径)并尝试连接时,CORS 错误即将到来。我已在 express(nodejs) 中将允许跨源的标头设置为 * 值。
HTML:
<div class="form-group">
<label for="textareaLbl2">Description 2</label>
<textarea name="descr2" class="form-control" id="textareaLbl2" rows="3"></textarea>
</div>
<div class="form-group">
<label for="img">Upload:</label>
<input type="file" name="img" class="form-control" id="img" />
</div>
JS:
testForms.onsubmit = function(event) {
event.preventDefault();
var formData = new FormData(testForms);
request.open( "POST", "https://xyz.domain.com/addList", true);
request.send(formData);
}
Nodejs:
app.use(function (req, res, next) {
// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', '*');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
【问题讨论】:
标签: javascript node.js express