Я заметил, что Safari 5.0.5 (6533.21.1), кажется, отправляет повторяющиеся вызовы ajax.Когда я запускаю следующий сокращенный контрольный пример:
// jquery 1.6 include
$(document).ready(function() {
setTimeout(function(e) {
var req1 = $.getJSON('/api/private/customers.json');
console.log('req1 sent');
}, 2000);
setTimeout(function(e) {
var req2 = $.getJSON('/api/private/customers.json');
console.log('req1 sent');
}, 4000);
});
панель ресурсов Safari и консоль показывают, что два запроса xhr выходят, но мой журнал сервера показывает три входящих запроса xhr:
XX.XX.XX.XXX - - [10/May/2011:16:50:40 -0400] "GET /api/private/customers.json HTTP/1.1" 200 183 "https://sub.mydomain.com/customers" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
XX.XX.XX.XXX - - [10/May/2011:16:50:42 -0400] "GET /api/private/customers.json HTTP/1.1" 200 183 "https://sub.mydomain.com/customers" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
XX.XX.XX.XXX - - [10/May/2011:16:50:42 -0400] "GET /api/private/customers.json HTTP/1.1" 200 183 "https://sub.mycomain.com/customers" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
Когда я делаю тот же запрос с последней версией Firefox, я правильно получаю два запроса:
XX.XX.XX.XXX - - [10/May/2011:16:52:00 -0400] "GET /api/private/customers.json HTTP/1.1" 200 183 "https://sub.mycomain.com/customers" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
XX.XX.XX.XXX - - [10/May/2011:16:52:02 -0400] "GET /api/private/customers.json HTTP/1.1" 200 183 "https://sub.mycomain.com/customers" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
Такое поведение, по-видимому, не возникает при первом запросе, но все последующие запросы отправляются в двух экземплярах.,Кто-нибудь знает, что происходит?Попытки обнаружить дополнительные запросы в js были тщетными.