Backbone.js не синхронизируется только в IE - PullRequest
1 голос
/ 15 декабря 2011

Кто-нибудь когда-нибудь видел это?Я не знаю, как это расширить.Это единственный симптом.Он не будет синхронизироваться в IE.

Ответы [ 2 ]

2 голосов
/ 18 июля 2012

Это может помочь другим в поиске проблем синхронизации IE Backbone. У меня была проблема IE6-7, когда синхронизация не работала, потому что глобальный объект JSON не существует. Реализация Backbone Sync по умолчанию использует JSON.stringify для генерации параметров. Объект JSON отсутствует в IE6 и 7, поэтому вам понадобится условный комментарий и сценарий Крокфорда json2.js, который добавляет объект window.JSON:

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

После добавления, что Backbone работал прямо из IE6.

2 голосов
/ 06 апреля 2012

Междоменные запросы в IE поддерживаются только через специфичный для IE объект с именем XDomainRequest. XDomainRequest является слишком базовым по сравнению с объектом XMLHTTPRequest, который реализован во всех других основных браузерах!

Я предполагаю, что вы используете jQuery для Ajax-запросов.jQuery не использует XDomainRequest для выполнения междоменных вызовов в IE, поэтому вам не повезло!

XDomainRequest предлагает только подмножество функций XMLHTTPRequest.Например, невозможно вставить какие-либо пользовательские заголовки в запросы HTTP-Get / Post через XDomainRequest [как правило, для этой цели вы использовали бы обратный вызов jQuery «onBeforeSend»].

Пожалуйста, обратитесь к этой документации MSDN: http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx.

Я столкнулся со всем этим в моем текущем проекте и в итоге использовал Proxy, то есть mod_proxy, на сервере Apache, на котором размещено мое приложение.Посмотрите мой ответ по этой теме Как сделать ajax-запрос к API с использованием CORS и backbonejs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...