jquery mobile ajax jsonp-запрос больше не передает второй параметр get url - PullRequest
0 голосов
/ 28 ноября 2011

Извините за недостаточную точность в моей первой версии сообщения / вот обновленное сообщение с примером кода

Я использую jquery 1.6.4 и jquery mobile 1.0rc2 / сначала я должен признать, что я относительно новичок в jquery mobile / я создал несколько веб-приложений, которые работают без больших проблем / внезапно / за одну секунду к следующей паре моего приложения, где сломано / более пристальное внимание к проблеме, выяснилось, что те приложения, где все приложения, которые принимают json из API, который я получаю по запросу ajax jsonp / URL-адрес get, содержат 2 параметра после? ? auth_token & meta_prefix (плюс автоматически сгенерированный параметр обратного вызова jquery) / проблема, кажется, в том, что jquery больше не передает второй параметр / он просто удалил его перед отправкой запроса / это верно для всех сломанных веб-приложений / есть кто-нибудь идея, что могло измениться?

URL в запросе выглядит так: http://myURL? Auth_token = myToken & meta_prefix = m_ однако отправленный URL выглядит следующим образом: http://myURL? Auth_token = myToken & обратный вызов = jQuery16308668286966791752_1322474687995

Странно то, что когда я изменяю имя параметра на metaprefix вместо meta_prefix, он отправляет его, однако на этот раз параметр помещается после обратного вызова. что здесь происходит?

любая помощь приветствуется

ниже указан код, который я использую для звонка

$(function(){
    $.ajax({
        url: 'http://myURL?auth_token=myToken&meta_prefix=m_',
        dataType: 'jsonp',
        cache: true, // i need this to be set to true because otherwise jquery adds a cache parameter which the api i am using has problems with
        success: function(data){
            console.log(data);
            $('#list1').append('<ul data-role="listview"></ul>');
            listItems = $('#list1').find('ul');
            $.each(data, function(key) {
                html += '<p>From: '+data.array[key].m_total_resources+'</p>';
                listItems.append('<li>'+html+'</li>');
            });
            // Need to refresh list after AJAX call
            $('#list1 ul').listview();
        }
    });
})

Я немного поигрался с этой проблемой, и обнаружил, что использую другой API только для тестирования, например, API поиска Apple http://itunes.apple.com/lookup?id=909253&entity=album Я не могу воспроизвести эту проблему второго параметра / возможно это мое непонимание, но может ли API играть роль в этой ошибке? или URL, к которому добавлены параметры? если я вставлю URL в браузер, я получу ожидаемые ответы; что так расстраивает то, что все работало очень хорошо позавчера!

ура

Маков

1 Ответ

0 голосов
/ 29 ноября 2011

извините за неудобства, но я не знал, что создал две учетные записи / проблема, о которой я сообщил выше, была решена / это действительно была проблема с API / говорят, что они реализовали некоторые функции AJAX, которые не давали API реагироватьк определенным параметрам / честно говоря, я был немного озадачен этим / я подумал, что то, что можно увидеть в плагине httpheaders в реальном времени в Firefox, показывает запросы get, которые фактически были отправлены / однако, исходя из проблемы, с которой я столкнулся, кажется, чтобольше того, что отвечающие api вещи были отправлены / это правильно каким-либо образом?

...