【发布时间】:2015-09-03 06:07:21
【问题描述】:
我在 linode 服务器上使用 DJango 1.8,并且有以下视图:
import json
from django.http import HttpResponse
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
def home_view(request):
r = { 'response': 'OK', 'data': None }
return HttpResponse(json.dumps(r), content_type = "application/json")
@csrf_exempt
def ping(request):
r = { 'response': 'OK', 'data': 'ping' }
return HttpResponse(json.dumps(r), content_type = "application/json")
我的网址如下所示:
urlpatterns = [
url(r'^django/admin/', include(admin.site.urls)),
url(r'^django/$', home_view),
url(r'^django/ping/$', ping),
url(r'^django/echo/$', echo),
]
如果我访问我的 linode 站点
http://mylinodesite/django/ping/
我明白了:
{"data": "ping", "response": "OK"}
太好了。如果我使用 jquery 并做一个
$.get("http://mylinodesite/django/ping/")
我明白了
No 'Access-Control-Allow-Origin' header is present on the requested resource.
据我了解,@csrf_exempt 应该摆脱 CSRF 标头内容。什么给了?
【问题讨论】:
-
我认为是标题问题。