2016-07-20 14 views
5

Tôi đang cố gắng tận dụng các API vượt http://wiki.openstreetmap.org/wiki/Overpass_API với một XMLHttpRequest JavaScript trong một dự án chạy trên Django nhưng tôi tiếp tục nhận được lỗiCORS Kích (Cross xứ yêu cầu) trong Django

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.google.com/accounts/ClientLogin. (Reason: CORS header 'Access-Control-Allow-Origin' missing). 

. Tôi nhận được lỗi này cho dù tôi đang sử dụng GET hoặc POST và từ bất kỳ máy chủ lưu trữ nào khác, không chỉ là API cầu vượt.

Tôi đã cài đặt django-corsheaders https://github.com/ottoyiu/django-cors-headers và theo các hướng dẫn ở đó, đặt 'corsheaders' vào INSTALLED_APPS, và 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', vào MIDDLEWARE_APPS và tôi đã đặt

CORS_ORIGIN_ALLOW_ALL = true 

trong settings.py nhưng không có gì có vẻ hiệu quả. Tôi đang chạy nó cục bộ với

python manage.py runserver 

nhưng tôi cũng đang lưu trữ trên openhift. Cả hai công việc này đều không đưa ra lỗi ở trên.

Vui lòng cho tôi biết nếu tôi thiếu gì ở đây.

+0

Bạn nhận được lỗi này trong javascript đang cố gắng truy cập vào openstreetmap/cầu vượt? –

+0

Có, tôi đang cố gắng sử dụng XmlHttpRequest trong javascript. – Abendsen

+0

Điều đó hiển nhiên, không trả lời câu hỏi. Tôi hỏi liệu trang web bạn đang cố bật CORS có phải là trang web đang nhận yêu cầu từ một nguồn gốc khác hoặc yêu cầu xuất xứ khác ... tức là URL đang nhận được lỗi CORS –

Trả lời

4

Tôi đã gặp sự cố tương tự khi cố gắng truy cập vào API Django Rest Framework được lưu trữ tại Heroku từ máy tính xách tay của tôi (localhost). Tôi đang sử dụng Django 1.10.2, DRF 3.4.7python v3.4.

tôi đã làm pip install django-cors-headers (phiên bản 1.2.2) và cấu hình nó như là docs nói và sau đó, các lỗi tương tự một lần nữa :(

Tiếp tục tìm kiếm hàng giờ đồng hồ và sau đó nó đánh tôi!

tôi đã làm pip install django-cors-middleware (phiên bản 1.3.1) mà không cần gỡ cài đặt gói django-cors-headers. Tôi cũng không chạm vào một tệp trong tệp settings.py của mình (nó được định cấu hình là cài đặt django-cors-headers, mặc dù hai gói này không có nhiều khác biệt của người đầu tiên)

Làm mới lần truy cập (từ máy chủ cục bộ) và mọi thứ hoạt động rực rỡ!

Tôi hiện có thể tìm nạp dữ liệu từ myapp.herokuapp.com qua phương thức jQuery's ajax.

Các vấn đề liên quan