这段代码是使用Node.js的express框架创建一个简单的服务器,并通过设置响应头来实现跨域访问。但在你的代码中出现了一个错误,即在预检请求(preflight request)的响应头中不允许设置某个请求头字段。
解决方法是在预检请求中设置合适的响应头,可以通过以下代码修改:
app.options('/server', (request, response) => {
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Headers', 'Content-Type');
response.status(200).end();
});
app.post('/server', (request, response) => {
response.setHeader('Access-Control-Allow-Origin', '*');
response.send('hello ajax post');
});
// 其他路由规则...
上述代码使用app.options()方法处理预检请求,并设置允许的请求头字段为Content-Type。然后通过app.post()方法处理POST请求。当然,你还可以添加其他类型的请求处理。
请确保已经安装了express模块(可以通过npm install express进行安装),并且将代码保存在正确的文件中,然后启动该服务。如果一切正常,你将能够发送跨域请求并得到响应。
内容由零声教学AI助手提供,问题来源于学员提问




