如何在node.js响应中添加跨域标头
how to add a cross domain header to node.js response
所以我有一个大问题。我需要从我构建的一个小node.js服务器中获取数据,然后使用这些数据。我遇到的问题是,错误表明我不能进行跨域请求,从我所看到的情况来看,我需要为此添加一个标头。我见过很多解决这个问题的方法的例子,但它们都使用express。我尽量远离快递,因为我在一个沙盒里,没有办法添加快递。
--服务器代码-
var http = require('http'),
url = require('url');
var tweets = {"tweets":[]};
http.createServer(function (req, res) {
query = url.parse(req.url,true).query;
var response = {};
//res.end(JSON.stringify(query));
if(query.action){
console.log("Moving on to phase two!");
if(query.action === "read") {
console.log("Listing off the posts");
response = tweets;
}
else {
if(query.action === "post"){
if(query.message) {
var tweet = {};
tweet.message = query.message;
tweets.tweets.push(tweet);
response.stat = "All Good!";
}
}
}
} else {
response.error = "No Action";
}
response.url = req.url;
res.write(JSON.stringify(response));
console.log(JSON.stringify(response));
res.end();
}).listen();
--客户端功能——
function getJSON(url) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.send();
return JSON.parse(xhr.responseText);
}
我希望这将是一个简单的解决方案,不会很难做到。
在将响应发送回客户端-之前,可以使用res.header
设置CORS头,如下所示
res.header("Access-Control-Allow-Origin", "*"); // restrict it to the required domain
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
// Set custom headers for CORS
res.header('Access-Control-Allow-Headers', 'Content-type,Accept,X-Access-Token,X-Key');
希望能有所帮助。
我已经想好了需要做什么。我试着运行
res.setHeader("Access-Control-Allow-Origin", "*");
它成功了!除了错误之外,其他方法都没有做任何事情。谢谢你帮我回答这个问题。
您需要在服务器上启用CORS。
如果您使用expressjs,则有一个名为cors的中间件。只需使用app.use(require('cors'))
,您就可以做好一切准备。
相关文章:
- 我该如何将自己的数据添加到响应迅速的美国各州地图中
- 可以't添加Chrome扩展的响应标头
- 谷歌表单:将项目添加到响应中
- 在响应之前向文档添加其他字段
- 如何将不同的 CSS 类添加到 ajax 响应的不同标签中
- 向图像滑块添加响应度
- 添加新行后无法“刷新”灯丝组表锯响应表
- 将元素添加到 Ajax 响应返回的表单中
- 如何为每个 AJAX 请求/响应事件添加回调
- 如何在 ajax 响应轨道上添加 javascript
- 在响应式 wordpress 主题中的每个字母中添加<跨度>
- 如何使用 jQuery 提取作为 AJAX 响应接收的 JSON 数据并将其添加到 HTML 选择下拉列表中
- 我可以将 P3P 响应标头添加到 XMLHttpRequest 吗?
- 想要将自动播放设置添加到响应式图像库
- 添加对 jquery .submit() 的回调以读取上传的错误响应
- 如何在响应和请求中添加新方法
- 将缩略图添加到响应式幻灯片.js
- 使用 Google 闭包将 json 响应内容作为链接添加到对话框中
- 向声音云响应json添加一个变量
- 在响应式日历中添加动态月份