我在Webpack4上捆绑了项目,我需要从表单输入中获取一些信息并将其写入txt文件。 我是开发的新手,如果问题很愚蠢,那就对不起
因此,我创建了node.js服务器,需要在其上发布此数据,然后将其写入txt文件。当我尝试向本地主机发出“发布”请求时,CORS阻止了错误“从源地址“ http://localhost:9000”访问“ file:/// E:/ server / localhost:3000”处的XMLHttpRequest政策:跨协议请求仅支持以下协议方案:http,数据,chrome,chrome扩展名,https。如何解决此问题。
const http = require('http');
const fs = require('fs');
const path = require('path');
const server = http.createServer((req, res) =>
{res.writeHead(200, {
'Content-Type':'text/html'
})
res.end('ggwp')}
)
server.listen(3000, () =>{
console.log('ok')
})
```here's my server
const bookForm = document.querySelector(".book-form");
const select = document.querySelector(".select");
const name = document.getElementsByName('name');
const number = document.getElementsByName('phone_number');
const xhr = new XMLHttpRequest();
export let fragment = '';
export function abc() {
bookForm.addEventListener("submit", e => {
e.preventDefault();
console.log(fs);
fragment += name[0].value + ' ' +number[0].value + ' ' + select.options[select.selectedIndex].text;
xhr.open('POST', 'file:///E:/server/localhost:3000', true)
xhr.send(fragment)
xhr.onreadystatechange = function() { // (3)
if (xhr.readyState != 4) return;
if (xhr.status != 200) {
console.log(xhr.status, xhr.statusText)
alert(xhr.status + ': ' + xhr.statusText);
} else {
alert(xhr.responseText);
}
}
});
答案 0 :(得分:0)
您需要将CORS库添加到您的项目中 CORS library usage
添加以下代码,其中包含CORS库
app.use(cors({
allowedOrigins: [
'http://localhost:9000'
]
}));
答案 1 :(得分:-1)
尝试将您的代码更改为xhr.open('POST', 'localhost:3000', true)