2013-10-23 43 views
5

Có lẽ tôi đang thiếu một cái gì đó hoàn toàn, nhưng tôi có một máy chủ chạy cục bộ, và có không được định cấu hình Góc để sử dụng CORS cho các yêu cầu $ http. Khi tôi thực hiện yêu cầu HTTP cho localhost: <port>, tôi thấy Chrome tạo yêu cầu OPTIONS trước.AngularJS vô hiệu hóa CORS?

Vì tôi cần hỗ trợ IE 8 - và AngularJS chắc chắn sẽ không hoạt động ở đó với CORS - tôi cần phải loại bỏ CORS.

Tôi đã thử đặt trực tiếp phương thức POSTkhông bằng cách sử dụng trình bao bọc $http.post không có lịch phát sóng. Có lẽ điều này liên quan đến https://github.com/angular/angular.js/issues/1585

Tôi cũng đã thử gọi một bài đăng ajax jQuery trực tiếp từ bộ điều khiển - ngay cả với tùy chọn CORS là sai (vì nó dường như mặc định là true). Nó vẫn tạo ra một yêu cầu CORS.

Cấu hình cho điều này là gì?

Trả lời

19

CORS là kết quả của url yêu cầu của bạn, không phải của bất kỳ cấu hình nào bạn có thể đặt. Nếu nguồn gốc của bạn không khớp với giao thức url/tên miền/cổng yêu cầu, bạn sẽ nhận được yêu cầu CORS - không có ngoại lệ.

Ví dụ, với nguồn gốc của http://www.example.com:8080:

Đây là yêu cầu CORS: http://example.com:8080/path.json (tên miền phụ khác)

Đây là một yêu cầu CORS: http://www.example.com/path.json (cổng khác)

Đây là một Yêu cầu CORS: https://www.example.com:8080/path.json (giao thức khác nhau)

Đây là NOT yêu cầu CORS: http://www.example.com:8080/path.json (giao thức, tên miền và cổng tất cả khớp với nguồn gốc)

Điều đó đang được nói, yêu cầu OPTIONS đang xảy ra vì bạn có tiêu đề bên ngoài tiêu đề chuẩn (rất có thể, yêu cầu của bạn có X-Yêu cầu-Với tiêu đề). Trong Angular.js, bạn có thể loại bỏ điều này với:

angular.module('yourModuleHere') 
    .config(function ($httpProvider) { 
     delete $httpProvider.defaults.headers.common['X-Requested-With']; 
    }); 

Lưu ý rằng đối Angular.js 1.2 trở lên, X-yêu cầu-Với không có trong mặc định danh sách tiêu đề chung. Bạn không cần phải xóa nó khỏi danh sách.

+2

Yea - điều này phù hợp với vấn đề của tôi, vấn đề mà tôi là kẻ ngốc. –

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