Ответ 1
Существует два способа разрешить междоменные XMLHttpRequests, который используется методом Backbone.js для извлечения данных из URL. Первое является подходящим, если вы контролируете серверную сторону домена, отличного от источника, к которому вы пытаетесь подключиться, и включаете в себя внедрение Cross-Origin Совместное использование ресурсов (или CORS).
Чтобы реализовать CORS, верните часть "Origin" в заголовок запроса HTTP Referer
(бит до начала path
, он должен соответствовать регулярному выражению ^.+?\/{2}[^\/]*
) в заголовке ответа Access-Control-Allow-Origin
для доменов вы хотите обслуживать:
Access-Control-Allow-Origin: http://mydomain.com
Вам может потребоваться переопределить Backbone.sync, чтобы right настройки для объекта XMLHttpRequest.
Второй вариант, если у вас нет доступа к серверу перекрестного происхождения, должен был проксировать запросы через ваш собственный сервер (либо исходный, либо один, который позволяет CORS). Очевидно, кто бы ни владел доменом, который вы пытаетесь вызвать, может не понравиться, если вы это делаете, но это по дизайну - если они не хотят, чтобы вы звонили в вашу службу, у них есть только один IP-адрес для блокировки, а не каждый из ваших IP клиентов.