Tôi đã viết một bài viết về vấn đề này một thời gian trước, CrossAX AJAX .
Cách dễ nhất để xử lý việc này nếu bạn có quyền kiểm soát máy chủ phản hồi là thêm tiêu đề phản hồi cho:
Access-Control-Allow-Origin: *
Điều này sẽ cho phép Ajax tên miền chéo . Trong PHP, bạn sẽ muốn sửa đổi phản hồi như vậy:
<?php header('Access-Control-Allow-Origin: *'); ?>
Bạn chỉ có thể đặt Header set Access-Control-Allow-Origin *
cài đặt trong tệp cấu hình Apache hoặc tệp htaccess.
Cần lưu ý rằng điều này vô hiệu hóa hiệu quả bảo vệ CORS, rất có thể khiến người dùng của bạn tấn công . Nếu bạn không biết rằng bạn đặc biệt cần sử dụng ký tự đại diện, bạn không nên sử dụng nó và thay vào đó bạn nên đưa danh sách trắng vào tên miền cụ thể của mình:
<?php header('Access-Control-Allow-Origin: http://example.com') ?>
dataType: 'jsonp',
hiện các trick