Jquery формирует некорректный URL по запросу JSON AJAX - PullRequest
0 голосов
/ 02 февраля 2012

Я делаю запрос JSON-P к API через jQuery AJAX

$('#fetch').click(function(){
             $.ajax({
                url: 'http://abettertms.com/api2/terms',
                dataType: 'jsonp',                                
                success: function(){
                    console.log("success");
                },
                error: function() { console.log('error'); }
            });
        });

Отладка с использованием консоли Chrome показывает, что запрос ajax сделан на

http://abettertms.com/api2/terms?callback=jQuery1710946886689402163_1328157759295&_=1328157761647

с дополнительным параметром &_=1328157761647. Почему jQuery добавляет это? API, который я вызываю, является моим собственным, поэтому я могу отредактировать API, чтобы игнорировать посторонний параметр, но я бы предпочел не прибегать к этому.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

Cache По умолчанию: true, false для dataType 'script' и 'jsonp'

Если установлено значение false, браузеры не будут кэшировать запрашиваемые страницы. Если для кеша установлено значение false, к URL-адресу также добавляется параметр строки запроса «_ = [TIMESTAMP]». См. Параметр кэша в следующей ссылке.

Ссылка: JQuery AJAX

1 голос
/ 02 февраля 2012

Это добавляет, что браузер не может кэшировать эти ответы.Вероятно, это значение метки времени, генерируемое, чтобы отличаться каждый раз, когда вы выполняете этот вызов jsonp.Почему в пути?Возможно, есть альтернативы любой вашей проблеме.

Посмотрите, исчезнет ли она, если вы добавите cache:true в качестве аргумента к вызову $.ajax.

...