Как Ajax Call работает в мобильном приложении (PhoneGap), а не в браузере ПК? - PullRequest
7 голосов
/ 16 сентября 2011

Как работает вызов Ajax на страницу сервера в мобильном приложении (с помощью PhoneGap).Но, когда я запускаю тот же Ajax-вызов с обычной HTML-страницы в браузере ПК, он не работает.Я думаю, что проблема кросс-домен.Но как это хорошо работает в мобильном приложении.

Использование JSONP прекрасно работает в браузере ПК и мобильном приложении (используя PhoneGap).Но в мобильном приложении без datatype="jsonp" тоже нормально работает.

Ответы [ 4 ]

12 голосов
/ 16 сентября 2011

Из FAQ по PhoneGap :

Q.Я хочу создать приложение для phonegap для доступа к внешне развернутым веб-сервисам через AJAX.Как я могу решить проблему с междоменной политикой безопасности XmlHttpRequest?

A.Политика междоменной безопасности не влияет на приложения PhoneGap.Поскольку html-файлы вызываются webkit по протоколу file: //, политика безопасности не применяется.(в Android вы можете предоставить android.permission.INTERNET своему приложению, отредактировав AndroidManifest.xml)

7 голосов
/ 22 сентября 2011

Мобильные приложения (PhoneGap, Adobe AIR, Titanium, Native и т. Д.) Не имеют такого же ограничения происхождения для запросов XHR, как в настольных браузерах. Они могут делать любые междоменные звонки, которые они хотят. Вот почему он отлично работает на телефоне, а не на рабочем столе.

JSONP отлично работает в обоих случаях, поскольку не использует XHR. Он выполняет междоменный запрос, используя тег . Таким образом, это обходит ту же политику происхождения браузера. Однако JSONP может работать только в том случае, если удаленная служба возвращает данные в форме функции, которая затем немедленно выполняется.

1 голос
/ 26 сентября 2011

Я полагаю, что все представления на основе WebView не имеют правил ограничения для междоменных запросов XHR. Другим способом междоменного запроса является серверный мост.

0 голосов
/ 26 сентября 2011

Вы можете использовать iqouta, чтобы совершить вызов ajax в поиске телефонной пробки, iqouta легко использовать !!

...