JQuery 1.9.1JQuery Ajax Авторизация Токен Заголовок Сбой
Запрос никогда не отправляется и, кажется, только без ошибок. console.log
вывод показывает Request failed: error
Я не знаю, как отлаживать это дальше.
$.ajax({
beforeSend: function (xhr) { xhr.setRequestHeader ('Authorization', 'Token c576f0136149a2e2d9127b3901015545') },
type: "GET",
url: "https://example.com/endpoint",
dataType: "json"
}).done(function(msg) {
console.log(msg);
}).fail(function(jqXHR, textStatus, errorThrown) {
console.log("Request failed: " + textStatus);
console.log(errorThrown);
});
Проверка сетевого трафика в Google Chrome показывает
Method: OPTIONS
Status: (canceled)
Type: Pending
Однако использование завиток работает отлично:
curl https://example.com/endpoint -H 'Authorization: Token token="c576f0136149a2e2d9127b3901015545"'
Вот jsFiddle: http://jsfiddle.net/2vtyD/1/
Примечание: это не проблема с Access-Control-Allow-Origin
, как у меня есть эта часть работает.
Я знаю, что я должен быть что-то не хватает ...
Update:
Все отлично работает, когда я переключаюсь на http
. Только при использовании https
эта проблема возникает. Я думал, что это может быть потому, что я использую самозаверяющий сертификат (недействительный). Но другие запросы SSL (неавторизация, т.е. не «ОПЦИИ») работают очень хорошо. Таким образом, это всего лишь комбинация запросов SSL и OPTIONS. Статус в chrome отменяется, и, глядя на журналы сервера, журналы apache показывают некоторую активность, но это никогда не делает это веб-приложение rails.
Вот sniplet журнала апача:
[info] [client 10.0.2.2] (70007)The timeout specified has expired: SSL input filter read failed.
[info] [client 10.0.2.2] Connection closed to child 10 with standard shutdown (server example.com:443)
[info] [client 10.0.2.2] Connection to child 11 established (server example.com:443)
[info] Seeding PRNG with 656 bytes of entropy
[info] [client 10.0.2.2] (70014)End of file found: SSL input filter read failed.
[info] [client 10.0.2.2] Connection closed to child 11 with standard shutdown (server example.com:443)
Однако эти типы сообщений происходят для всех запросов SSL. Поэтому я в основном не понимаю, как это сделать.