django sweetpie 和跨域 json

标签 django json node.js express

在 localhost:8000 上运行 django 开发服务器,在 localhost:3000 上运行 nodejs 服务器。我想将 json 导入 nodejs 服务器,但出现此错误:

XMLHttpRequest cannot load http://127.0.0.1:8000/api/presentation/?format=json. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin

这是我第一次涉足跨领域的乐趣,所以我的深度不够。

我已将此添加到 Node (expressjs) 中的路由中。

app.all('/', function(req, res){
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.render('index', {
    title: '...'
  });
});

我错过了什么/做错了什么?

最佳答案

数据提供者需要为跨域请求设置策略(不是客户端,正如您的 expressjs 片段所暗示的那样)。

Someone发布了一个简单的 Django 中间件的要点,负责注入(inject)所需的 header :

Middlware to allow's your django server to respond appropriately to cross domain XHR (postMessage html5 API).

关于django sweetpie 和跨域 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014402/

相关文章:

django - django-allauth:将多个社交帐户链接到单个用户

django - graphene-django 为 DjangoFilterConnectionField 添加附加参数并将其传递给 get_queryset

json - 如何使用 Winston/Morgan 记录 JSON HTTP 响应

javascript - NodeJS FS 不从多个文件返回数据

python - 需要 Django 1.2 速成类

json - 有没有一种方法可以在Grails中使用Marshaller将JSON字符串解析为自定义对象

javascript - 用Js操作json

node.js - 无法创建到 Node.js socket.io 服务器的跨域 websocket 连接

node.js - 流.io : How to get a users unread messages count from the server

python - Python/Django 数据库本地化(多语言)设计