JSONP вызывает не работать с Apple-Mobile-Web-приложения-способных = "да" - PullRequest
2 голосов
/ 13 октября 2011

Проблема: При установленном <meta name="apple-mobile-web-app-capable" content="yes" /> все мои запросы jsonp отклоняются. Я прочитал это, установив content = "yes", вы не можете изменить страницу. Но я не знал, что вы не можете запросить внешние ресурсы. И это приложение имеет на весь экран. Есть ли способ использовать этот тег для установки iPad в полноэкранный режим в приложении html5?

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

Ответы [ 2 ]

4 голосов
/ 14 октября 2011

Так что решение этого было хитрым.

Используя JSONP , вы избавляетесь от необходимости беспокоиться о междоменных проблемах. Однако, если вы установите <meta name="apple-mobile-web-app-capable" content="yes" />, вы НЕ сможете отправлять запросы между доменами без указания Access-Control-Allow-Origin в заголовках.

Итак, вот решение:

Примечание. В обоих запросах я указываю & jsoncallback =?

НЕ РАБОТАЕТ:

function jsonpRequest(req){
    $.getJSON(req,
      function(data) {
        // JSONP will run getJson() above;
    });
}

РАБОТАЕТ:

function jsonpRequest(req){
        $.ajax({
          url: req,
          dataType: 'json',
         beforeSend: setHeader,
          //data: data
          //success: callback
        });
        /*
        $.getJSON(req,
              function(data) {
                // JSONP will run getJson() above;
            });*/

    }
    function setHeader(xhr) {

     xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
    } 
0 голосов
/ 13 октября 2011

Не уверен, что вы уже делаете это, но вы добавили "callback =?" в ваших параметрах запроса?

Ознакомьтесь с разделом dataType здесь для получения дополнительной информации: http://api.jquery.com/jQuery.ajax/

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